Hex Editor
Open a local file in this web hex editor to inspect and change its raw bytes. Overwrite, insert or delete hex or UTF-8 text, undo edits, find and replace, and save a separate copy. The grid shows byte offsets and printable ASCII; number views read both byte orders. Files can be up to 50 MB.
- at 0x0
- 42 4D 4E 00 uint32 LE 5131586, BE 1112362496 uint16 LE 19778, BE 16973
- find
- Type bytes or text and press Find.
- changed
- No changes: every byte matches the file as opened. SHA-256 source computing, now computing
Arrows move, Shift with an arrow selects, hex digits (or characters in the text column) type over bytes, Insert switches to inserting, Delete and Backspace remove, Ctrl+Z undoes and Ctrl+Y redoes.
Go to an offset
Find and replace
Type bytes or text and press Find.
Edit at the cursor
The bytes at 0x0, read as numbers
| Type | Little-endian | Big-endian |
|---|---|---|
| uint8 | 66 | same |
| int8 | 66 | same |
| uint16 | 19778 | 16973 |
| int16 | 19778 | 16973 |
| uint32 | 5131586 | 1112362496 |
| int32 | 5131586 | 1112362496 |
| uint64 | 5131586 | 4777560541616930816 |
| int64 | 5131586 | 4777560541616930816 |
| float32 | 7.190884e-39 | 51.32617 |
| float64 | 2.5353404e-317 | 251725348864 |
The selection, or the byte at the cursor, as UTF-8 text: a decoded view for reading only, and every byte shown decodes exactly. Control bytes show as their symbols, such as ␀ for 00, and invisible format characters show as their code point, for example <U+202E> for a direction override.
B
What changed
No changes: every byte matches the file as opened. 0 edits can be undone (up to 500 are kept).
SHA-256 of the file as opened: computing
SHA-256 of the bytes now: computing
- little-endian 1, big-endian 16777216
- identical to the source hash, d8bd8ea41125...
- Offset 0x4E (78) is past the end; "G" is not a hex digit; not one byte changed
Files up to 50 MB (52,428,800 bytes), and an edit that would grow a file past that is refused. Only the editor's settings, such as row width, typing mode and number type, are kept in this browser; the Start over button above forgets them. The file itself is never stored.
Common questions
- How do I open a file in an online hex editor?
- Press Open a file, or drop a file anywhere on the page. Files up to 50 MB (52,428,800 bytes) are read into this tab by the browser's own file reader, and nothing is uploaded. A larger file is refused with its size named. The 78-byte example BMP made for this page is one click away if you want to try the editor first.
- Can I use the web hex editor on Windows, Mac, Linux or a phone?
- Use a current browser on Windows, macOS or Linux, including Ubuntu, Kali and Arch. The same browser workflow is available on Android and iOS: choose Open a file and use Edit at the cursor to enter bytes or text, then Overwrite at cursor or Insert at cursor. There is nothing to install. The page edits files supplied through the browser file chooser; it does not access a disk device, process memory or a terminal editor.
- Can I use this as a hex and text editor?
- Yes. Open a file, choose Text under Edit at the cursor, and use Overwrite at cursor or Insert at cursor to write the entered characters as UTF-8 bytes. Choose Hex to enter byte pairs such as 48 69 or 0x48 0x69; spaces, commas, colons, semicolons and hyphens can separate bytes. The grid text column is printable ASCII, while the labelled selection view decodes UTF-8 for reading. This is byte editing, without rich-text formatting or automatic encoding detection.
- What is the difference between little-endian and big-endian?
- They are the two orders a number's bytes can be stored in. Little-endian puts the least significant byte first and big-endian puts the most significant byte first, so the bytes 01 00 00 00 read as a uint32 are 1 little-endian and 16,777,216 big-endian. The table under the editor reads the bytes at the cursor both ways, as signed and unsigned 8, 16, 32 and 64-bit integers and as 32 and 64-bit floats.
- Can I insert or delete bytes, not just overwrite them?
- Yes. Switch Typing to Insert, or press the Insert key, and typed bytes go in at the cursor and push the rest along. Delete and Backspace remove bytes, and a selection is removed in one go. Up to the last 500 edits can be undone. The editor does not update a format's own size or checksum fields, so a file that records its own length may need those fixed after an insert or delete.
- How do I search for bytes or text in a binary file?
- Type hex bytes such as 13 0B, or switch Find and replace to Text to search their UTF-8 bytes. Turning Match case off folds A to Z only. Matches do not overlap; Previous and Next move between them. After a complete uncapped search, Replace all changes its matches as one edit that Undo reverses. Searches stop at 100,000 matches, and a capped search cannot use Replace all.
- Why does the text column show dots?
- The text column shows a byte as a character only when it is printable ASCII, 20 to 7E in hex. Every other byte, including 00, control bytes and anything above 7E, is shown as a dot. Bytes are always shown as plain text and never read as markup. To read a selection as UTF-8, use the decoded view under the number table, which says when some bytes could not be decoded.
- Is my file uploaded or changed on my disk?
- No. The file is read into this browser tab and every edit happens there. Save a copy downloads the edited bytes as a new file named after yours with -edited added, and the file you opened is not touched. Only settings such as the row width and typing mode are remembered in this browser; the file never is.
- Is the saved file exactly the bytes I see?
- Yes. The download is made from the same array of bytes the grid draws, with nothing added before or after. The What changed panel says which bytes differ from the file you opened and gives the SHA-256 of both, so you can check that undoing an edit put every byte back.
- How do I find an offset in a hex editor?
- An offset is a byte position counted from zero. Use Go to an offset with 0x1A for hexadecimal or 26 for decimal; both select the byte at position 26. Hex letters need the 0x prefix, and an offset past the end is refused. The grid labels each row with its starting offset, and the cursor readout identifies the selected byte.
- Can I inspect BIN, EXE, image or video files?
- The file chooser accepts any extension within the size limit, and the editor shows the raw bytes in the same grid. You can inspect byte signatures, search text or read numeric fields while exploring an unfamiliar format. It does not run executable files, preview media, disassemble code or understand format-specific structures. Save a copy writes your changed bytes; checksums and length fields inside a format are not repaired automatically.
Edits change exactly the bytes you type, insert or delete, and a saved copy is those bytes with nothing added. The text column shows printable ASCII and a dot for every other byte; only the labelled UTF-8 view of a selection can lose detail, where invalid bytes show as U+FFFD. Files up to 50 MB are read in your browser, never uploaded or run, and a format's own checksums and size fields are not updated for you.