Hex Editor

Open, inspect and edit binary files in your browser. Hex + ASCII view, byte editing, hex/text search, data inspector, code export. Free, nothing uploaded.

Advertisement

Online Hex Editor for Viewing and Editing Binary Files

This online hex editor opens a binary file in your browser and shows you exactly what is inside it: every byte in hexadecimal, the matching ASCII alongside, and the offset of each row. You can search it, jump to an offset, change bytes in place, bookmark interesting positions, and export the modified file back out. There is nothing to install and nothing to upload — the file is read locally through the browser’s File API and the bytes never touch a server.

It exists for the moments when a file will not open the way it should. A .bin dump from a device, a firmware image, a save file, a proprietary format with no documentation, a “corrupt” download you want to check the header of. A hex viewer is how you find out what a file actually is rather than what its extension claims.

What You Can Do With It

  • Load any file by drag-and-drop or file picker — binaries, executables, images, archives, firmware, disk fragments, anything.
  • Paste raw hex instead of a file. Formats like 48 65 6C 6C 6F or 0x48,0x65,0x6C are both accepted, which is handy for inspecting a hex blob copied out of a log or a packet capture.
  • Switch row width between 8, 16, and 32 bytes per row to line up with the structure you are reading.
  • Colour-code byte types so null bytes, printable ASCII, control characters, whitespace, and high/extended bytes are visually distinct. Padding, text regions, and structure boundaries jump out immediately.
  • Search by hex pattern or ASCII string, with every hit highlighted and next/previous navigation between them.
  • Jump to an offset by typing it in hex, e.g. 1A4F.
  • Select a byte or drag a range, and edit any byte by entering a new value from 00 to FF. Modified bytes stay highlighted and are counted, so you always know what you have changed.
  • Bookmark offsets with notes to keep track of the header, the magic number, the length field, and whatever else you are mapping.
  • Export the modified file as a download, or export a selection as code in C, Python, JavaScript, Go, Rust, or C#.
  • Share a permalink for small inputs — up to 1024 bytes are encoded into the URL itself.

Large files stay usable because the hex view is virtualised: only a window of rows is rendered at a time, and scrolling or jumping moves that window. You are not waiting on the browser to lay out a million table rows.

Reading a Hex Dump

Every row of a hex dump has three parts. On the left, the offset — the position of the first byte on that row, written in hexadecimal. In the middle, the bytes themselves, two hex digits each. On the right, the ASCII rendering, where printable characters appear as themselves and everything else shows as a placeholder.

At 16 bytes per row the offset advances by 0x10 each line, so the byte at offset 0x0000002B sits on the row starting at 0x00000020, eleven columns across. That arithmetic is why the row-width control matters: a structure with 8-byte fields reads cleanly at 8 or 32 bytes per row and looks like noise at anything else.

The first few bytes of a file are usually the most informative, because most formats begin with a magic number:

Leading bytesASCIIFormat
4D 5AMZWindows executable (PE/EXE/DLL)
7F 45 4C 46.ELFLinux/Unix executable
50 4B 03 04PK..ZIP, and everything built on it (DOCX, XLSX, JAR, APK)
89 50 4E 47.PNGPNG image
FF D8 FFJPEG image
25 50 44 46%PDFPDF document
1F 8Bgzip archive

If a file’s extension and its magic number disagree, the magic number is telling the truth. For a systematic check across a much longer signature list, use the file magic number checker.

The Data Inspector and Endianness

Raw bytes only become meaningful once you decide how to interpret them. Select any byte and the data inspector decodes the bytes starting at that offset as every common primitive at once: int8 and uint8, the binary expansion of that byte, int16/uint16, int32/uint32, float32, int64/uint64, float64, the ASCII character, and a UTF-8 decoded string.

A little-endian and big-endian toggle sits alongside, because the same four bytes mean different numbers depending on byte order. Take 01 00 00 00: read little-endian — least significant byte first, the convention on x86 and ARM — that is the 32-bit integer 1. Read big-endian, the convention in most network protocols and on some older architectures, it is 16,777,216. Getting endianness wrong is the classic reason a length field looks absurd, and flipping the toggle is usually the fastest way to confirm you have found the right field.

How to Use the Hex Editor

  1. Load your data. Drag a file onto the drop zone, choose one with the file picker, or paste a hex string.
  2. Set the row width to 8, 16, or 32 bytes depending on the structure you expect, and leave colour coding on while you get oriented.
  3. Look at the start of the file to identify the format from its magic bytes, and note the header layout.
  4. Search for a hex pattern or an ASCII string to find the region you care about, and step through hits with next/previous.
  5. Select a byte and read the data inspector, toggling endianness until the decoded values look plausible.
  6. Bookmark each field you identify, with a note, so you can navigate back as the map fills in.
  7. Edit bytes by selecting one and entering a new hex value. Changes are highlighted and counted.
  8. Export the modified file as a download, or export the selected range as a code array to paste into a test or a script.

Practical Uses

  • Opening a .bin file. A .bin extension says nothing about content. A hex viewer shows the header and tells you whether you are looking at firmware, a disk image, a ROM, or a serialised blob.
  • Verifying file headers and trailers. Confirming a PNG ends with IEND, or a ZIP has a valid end-of-central-directory record, quickly separates truncated files from otherwise broken ones.
  • Malware and CTF work. Pulling readable strings out of a sample, spotting appended data past the apparent end of a file, and patching a byte to see what changes.
  • Firmware and embedded debugging. Locating configuration blocks and version strings inside a flash dump.
  • Protocol and format reverse engineering. Bookmarking fields and using the data inspector to work out where lengths, offsets, and timestamps live.
  • Building test fixtures. Exporting a byte range as a C, Python, Go, Rust, JavaScript, or C# array to drop straight into a parser test.

For a first-pass look at whether a region is compressed or encrypted, the entropy analyzer complements this tool; obfuscated script payloads found inside a file are a job for the malware deobfuscator.

Frequently Asked Questions

Is this a replacement for HxD or a desktop hex editor?

For inspection, targeted edits, and quick analysis, yes — and it works on any operating system with no install, which desktop tools cannot claim. Dedicated desktop editors still win for very large files, disk and memory editing, binary templates, and file comparison. Use this when you need an answer now and do not want to install anything.

Is my file uploaded anywhere?

No. The file is read in your browser through the File API and every operation — rendering, searching, editing, exporting — happens locally. Nothing is transmitted. The only data that ever leaves the page is a permalink you explicitly choose to copy, and that is limited to 1024 bytes of content.

Can I edit bytes and save the file back?

Yes. Select a byte, enter a new value between 00 and FF, and repeat for as many bytes as you need. Edited positions stay highlighted and the count of changes is shown. Export downloads a new copy of the file with your modifications applied; your original file on disk is untouched.

How do I open a .bin file online?

Drag it onto the drop zone. It is displayed as hex with an ASCII column immediately. Start at offset 0 and read the first bytes — those usually identify the real format even when the extension does not.

What is the difference between little-endian and big-endian here?

Byte order for multi-byte numbers. Little-endian puts the least significant byte first and is what x86 and ARM use; big-endian puts the most significant byte first and is standard in network protocols. The data inspector has a toggle, and switching it changes every multi-byte value it reports.

How large a file can I open?

The hex view is virtualised, so it renders only a window of rows at a time and stays responsive on files far larger than a naive editor would handle. The practical ceiling is your browser’s available memory, since the whole file is held in a buffer. Very large images are better handled by a desktop tool.

Can I search for text rather than hex?

Yes. Switch the search mode to ASCII and type the string. Hex mode accepts patterns like 4D5A or 4D 5A. Both modes highlight every match and let you step through them.

Is the hex editor free?

Yes — free, unlimited, and no account required, like the rest of our security tools.

What Is a Hex Editor

A hex editor displays and edits binary file data in hexadecimal (base-16) format, alongside an ASCII/Unicode text view. Unlike text editors that interpret a file as readable characters, a hex editor shows the raw bytes that compose a file — letting you inspect and modify any file at the binary level, regardless of format or extension.

This is a free online hex editor and binary file viewer that runs entirely in your browser. You can open a file from disk (drag-and-drop or file picker) or paste a hex string directly, then view, navigate, search, edit, and export the bytes. Nothing is uploaded — file reads happen locally via the browser File API.

Hex editors are indispensable for reverse engineering, forensic analysis, malware research, file-format investigation, data recovery, firmware inspection, and low-level debugging.

Opening and Viewing Binary Files

  • Upload a file: drag a file onto the drop zone or click Choose File. The file is read in-memory with the File API — it never leaves your machine.
  • Paste hex: drop in a hex string such as 48 65 6C 6C 6F or 0x48,0x65,0x6C to inspect a snippet without creating a file.
  • Large files: the hex view is virtualized — it renders only the rows currently in view and slides the window as you scroll, so multi-megabyte binaries stay responsive instead of freezing the page. Every byte remains reachable via scrolling, Jump to Offset, search, and bookmarks.
  • Display width: switch between 8, 16, or 32 bytes per row to match the structure you are analyzing.

How Hexadecimal Representation Works

Each byte (8 bits) is shown as two hexadecimal digits (00–FF), representing values 0–255:

DecimalBinaryHexASCII
00000000000NUL
650100000141A
90010110105AZ
970110000161a
25511111111FF(non-printable)

The view has three columns: offset (position), hexadecimal bytes, and the ASCII interpretation. Non-printable bytes appear as dots in the ASCII column. Color coding distinguishes null, printable, control, whitespace, and extended (0x80–0xFF) bytes at a glance.

The Data Inspector

Select any byte and the data inspector decodes the bytes starting at that offset into the values a binary format would store there:

  • Integers: int8/uint8, int16/uint16, int32/uint32, and int64/uint64 (signed and unsigned).
  • Floating point: float32 (IEEE-754 single) and float64 (double).
  • Text: the ASCII character and a UTF-8 string preview.
  • Endianness toggle: switch between little-endian (x86, ARM default) and big-endian (network byte order, many MIPS/SPARC formats). Multi-byte numbers are reinterpreted instantly so you read the value the format actually intends.

This turns the editor into a quick struct/header decoder — point at a length field, timestamp, or pointer and read it without manual math.

Editing and Exporting

  • Edit a byte: double-click any byte and enter a new hex value (00–FF). Modified bytes are highlighted so you can see exactly what changed.
  • Export the modified file: download the edited bytes back out as a binary file.
  • Export as code: emit the selected range (or whole file) as a C, Python, JavaScript, Go, Rust, or C# byte array, ready to paste into source.
  • Permalink: for small inputs, copy a shareable link that encodes the bytes in the URL — open it anywhere to reload the same data. (Uploaded/large files are not encoded in the URL; use Export instead.)

Common Use Cases

  • File format analysis: examine headers, magic numbers, and internal structure to understand or reverse-engineer a format.
  • Malware analysis: inspect suspicious executables for embedded strings, URLs, IPs, and encoded payloads without executing them.
  • Data recovery: locate and extract fragments from corrupted files or disk images by searching for known byte patterns.
  • Firmware inspection: examine embedded firmware for hardcoded credentials, certificates, and configuration.
  • Forensic investigation: search media for file signatures, keywords, or data fragments.
  • Game modding: modify save files, resource files, and configuration data.

Best Practices

  1. Always work on copies — never hex-edit originals; create a working copy to avoid irreversible corruption of evidence or important data.
  2. Learn common magic bytes — recognizing signatures (PDF: 25 50 44 46, PNG: 89 50 4E 47, ZIP: 50 4B 03 04) speeds up file identification.
  3. Use the ASCII pane for string hunting — readable strings (URLs, paths, error messages) are immediately visible; search known strings to jump to relevant sections.
  4. Mind endianness — multi-byte values may be little-endian (x86) or big-endian (network/MIPS). The data inspector's endianness toggle prevents misreading values.
  5. Verify edits before export — modified bytes are highlighted; confirm the changes are what you intend before downloading.

Frequently Asked Questions

What is a hex editor used for?+

A hex editor allows you to view and edit binary files at the byte level. It is commonly used for analyzing file formats, reverse engineering, examining malware samples, editing game saves, recovering corrupted data, patching executables, and understanding how programs store data internally.

How do I navigate to a specific byte offset?+

Enter the hexadecimal offset in the Jump to Offset field and click Jump. The view will scroll to that location and select the byte at that offset. You can also click directly on any byte in the hex view to select it, and the info bar will show the offset in both hexadecimal and decimal formats.

Can I search for hex patterns or text strings in a file?+

Yes, the search feature supports both hex pattern and ASCII text search modes. For hex search, enter byte values like 48 65 6C 6C 6F (spaces are optional). For ASCII search, enter the text directly. Search results are highlighted in green, and you can navigate between matches using the arrow buttons.

How do I edit bytes in a file?+

Double-click on any byte in the hex view to open the edit dialog. Enter the new value in hexadecimal format (00 to FF) and click Save. Modified bytes are highlighted in yellow. Your changes are tracked separately from the original file and can be exported when you are ready.

What are bookmarks and how do I use them?+

Bookmarks let you mark important byte offsets with notes for later reference. Select a byte, click Add Bookmark, and enter a description. Bookmarked bytes are highlighted in purple. Click any bookmark in the list to jump directly to that offset. This is useful for marking file headers, important data structures, or areas of interest.

How do I save my modified file?+

Click the Export Modified button to download a copy of the file with all your changes applied. The button shows the number of bytes you have modified. The original file remains unchanged since all editing happens in browser memory. The exported file is saved with a .modified extension.

What do the different display modes (8, 16, 32 bytes per row) mean?+

The bytes per row setting controls how many bytes are shown on each line. 8 bytes per row is easier to read on narrow screens. 16 bytes is the traditional hex editor view. 32 bytes per row shows more data at once on wide screens. Choose the setting that best fits your screen size and preference.

Can I open and view binary files online with this hex editor?+

Yes. This is a full online hex editor and binary file viewer — drag a file onto the drop zone or use the file picker to open it. The file is read in your browser with the File API, so it is never uploaded to a server. You see the raw bytes in hexadecimal alongside an ASCII view, with color coding for null, printable, control, whitespace, and extended bytes. You can also paste a hex string instead of uploading a file.

What is the data inspector and how do I read int, float, and string values?+

Select any byte and the data inspector decodes the bytes starting at that offset into the values a binary format would store there: int8/uint8, int16/uint16, int32/uint32, int64/uint64 (signed and unsigned), float32 and float64, the ASCII character, and a UTF-8 string preview. A little/big-endian toggle reinterprets multi-byte numbers instantly — use little-endian for x86/ARM data and big-endian for network byte order. This lets you read length fields, timestamps, and pointers from a header without doing the math by hand.

Can this hex editor handle large binary files without freezing?+

Yes. The hex view is virtualized: it renders only the rows currently on screen and slides that window as you scroll, so multi-megabyte binaries stay responsive instead of locking up the page. Every byte is still reachable — scroll to it, use Jump to Offset, run a hex/ASCII search, or click a bookmark. Because the file lives in memory and is processed locally, no upload step slows you down.

Is my file uploaded anywhere? Is this hex editor private?+

No file is uploaded. This hex editor is 100% client-side — files are read in your browser with the File API and all viewing, editing, inspecting, searching, and exporting happens on your device. Nothing is sent to a server, which makes it safe for analyzing sensitive binaries, firmware images, and forensic artifacts. The optional permalink feature only encodes small pasted-hex inputs into the URL; uploaded or large files are never put in a link.

This tool is provided for informational and educational purposes only. All processing happens in your browser — no data is sent to or stored on our servers. While we strive for accuracy, we make no warranties about the completeness or reliability of results.