Hex encoder.
Type text or drop a file and read its hex as you type: two digits per byte, upper or lower case, spaced or joined. Everything runs in your browser.
Hex encoder.
Need the UI around it? With Pro, your AI agent builds the form, the result card and the rest of the page from a prompt.
Get ProHow it works
3 steps, no account. It runs in your browser and nothing is uploaded.
Enter text or a file
Type or paste anything, or drop a file onto the input; the Hex updates with every keystroke.
Choose the form
Uppercase or lowercase, spaced or not: pick in the bar and the result is rewritten in place.
Copy, download or swap
Copy the Hex, download it as a text file, or press Swap to decode it back.
Where Hex is used
Two digits per byte, exactly: the way bytes are read by people. Where Hex does its work.
Hash digests
A SHA-256 digest is 32 bytes printed as 64 hex digits; MD5 is 32 digits. Every checksum file is hex.
CSS colours
#FF5733 is three bytes, red, green and blue, as six hex digits.
File signatures
A PNG starts 89 50 4E 47, a PDF 25 50 44 46 (%PDF), a ZIP 50 4B: formats are recognised by their first bytes.
Hex dumps
`xxd`, `hexdump` and every debugger show memory as rows of hex bytes beside their ASCII.
Network addresses
00:1A:2B:3C:4D:5E is six bytes with colons; an IPv6 address is sixteen bytes in eight groups.
Keys and salts
AES keys, IVs and salts are handed around as hex because any byte can be read back without ambiguity.
Source code
`0x48656c6c6f` is how a literal byte string is written in C, Rust, Go and SQL.
Escapes
`\x1b[31m` escapes, `%20` in a URL, `\u00e9` in JSON: hex is how text formats name a byte.
Related tools
More encoders and decoders. Every one free, in the browser.
Pricing
Build it with Pro
The tool is free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds the product around it.
4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.
- Secure checkout via Stripe
- Code lives in your repo
- Keep what you've shipped if you cancel
- License terms
Questions and answers
Before you trust the result: what to know about the format, the limits, your data and the tools next to it.
Hexadecimal, Base16, writes every byte as two digits from 0 to 9 and A to F. Each digit is four bits, so the mapping is direct: no grouping, no padding, no arithmetic. It is the way bytes are shown in debuggers, hash digests, colour values and memory dumps.
A byte is split into two nibbles of four bits, each written as one of 16 digits: 0x48 is 01001000, the H of ASCII, written 48. The output is exactly twice the size of the input. Upper and lower case mean the same thing; the decoder reads both, with or without spaces or 0x prefixes.
Hash digests (a SHA-256 is 64 hex digits), CSS colours (#FF5733), MAC addresses, memory addresses, cryptographic keys and IVs, file signatures (a PNG starts 89 50 4E 47), and every hex dump a developer reads.
Yes: digits and letters only, nothing to escape.
Twice the size of the bytes, the worst of the practical encodings, and the most readable: a byte is two digits and you can see them. Use it to show bytes to a person; use Base64 to carry them.
No. Hex is an encoding, not encryption: it changes how bytes are written, not who can read them, and anyone can decode it with no key. Encrypt first (AES, age, a library's sealed box) when the content needs protecting, then encode the ciphertext if it has to travel as text.
Type or paste into the input and the Hex appears as you type: "abc" becomes 616263. Text is encoded as UTF-8 bytes, so accents and emoji come out the same as in every language's standard library. Copy the result, download it as a text file, or press Swap to decode it back.
Drop a file onto the input or choose one with the button, and its bytes are encoded directly, not as text. Any file the browser can hold in memory works; a few hundred megabytes is fine, and the result is twice the size.
Case changes nothing: 4A and 4a are the same byte, and the decoder reads both. Lowercase is what hash tools and most languages print; uppercase is the convention of colour codes and MAC addresses. A space between bytes makes a dump readable and is what a hex editor shows; leave it off for a value that will be pasted into code.
Nothing leaves your browser. The text or file is read into memory on your machine and the encoding is computed there, in plain JavaScript; the page makes no request with it. Load the page, go offline and it keeps working.
No. The Hex encoder is free and opens without a sign-in, an account or an install.
Nothing. The Hex encoder holds your input in the page's memory, so closing or reloading the tab clears it, and it saves nothing in this browser.
The bar has one choice: Case, and spacing between bytes.
Hex output is 2 characters per byte, so twice the size, and the status line under the result shows the bytes in, the characters out and the percentage.
The text is encoded as UTF-8 bytes first, so accented letters, other scripts and emoji round-trip through the decoder unchanged. Each of those characters takes more than one byte, which makes the output longer than the character count suggests.
Press Swap once there is a result and the same tool becomes the Hex decoder, with the output moved into the input. The decoder shows the original text again.
Closest to the Hex encoder: Hex decoder, File to Hex, Hex to file, Binary encoder. Each opens on its own page, free and in the browser.
The Hex encoder is one of 32 in its group. The group's page, /tools/encoding, lists them all.
The tool is free. Its interface is built from shadcn.io's own components (Button, Input, Slider and the rest of the registry under /ui), which come in React, Vue, Svelte and Solid. Pro adds the blocks and templates for the product around it.
4.9 out of 5 from 150+ developers
Build the product around it
Every block, template and icon, installed by your AI agent in your theme. The tools stay free.
Get Pro





