Whether you're debugging a byte stream, crafting a network packet, or just curious what your text looks like in hex, this tool converts instantly in your browser with no server round-trip.
From plain text to hex string (or back again) in four quick steps.
A quick primer on what hex encoding actually does and where it's used in real-world development.
Hexadecimal (base-16) encoding represents each byte of data as two hex digits (0–9 and A–F). It's a compact, human-readable way to display raw binary or text data — a single byte like 72 (the ASCII code for "H") becomes the hex pair 48. This makes hex a common bridge format between raw bytes and text you can read, copy, and debug.
Hex is verbose but extremely easy to read and debug byte-by-byte — ideal for hashes, colour codes, memory dumps, and low-level protocol work. Base64 is more compact (about 33% smaller) and better suited for embedding binary data in text formats like JSON or emails. URL encoding is purpose-built for safely including special characters inside URLs. For debugging raw bytes or working with hardware and cryptographic values, hex is usually the clearest choice.
Hex is everywhere once you start looking: colour codes like #FF5733, MD5/SHA hash digests, memory addresses and debugger output, MAC addresses and network packet captures, cryptographic keys and signatures, and byte-level protocol data in tools like Wireshark. This tool lets you quickly convert between readable text and hex representation without opening a terminal or writing a script.
Quick guide to what each formatting option does.
| Option | Example Output | When to Use |
|---|---|---|
| Lowercase Default | 48 65 6c 6c 6f |
Most common convention — Unix tools, Git hashes, general use |
| Uppercase | 48 65 6C 6C 6F |
Windows/registry values, some hardware datasheets, MAC addresses |
| 0x Prefix | 0x48 0x65 0x6C |
C, C++, Python, JavaScript, and Solidity literal formatting |
| No Spacing | 48656C6C6F |
Compact hash strings, tokens, database storage |
| Byte Grouping Readable | 48 65 6C 6C 6F |
Reviewing long hex dumps or packet captures line by line |
A simple hex tool comes in handy across a surprising range of technical work.
Answers to the most common questions about encoding and decoding hex with this tool.
Yes — completely free. There are no limits, no accounts, and no charges. Convert as much text as you need.
No — never. All encoding and decoding happens locally in your browser using JavaScript. Your text never leaves your device.
The tool encodes and decodes using UTF-8, so multi-byte characters like emoji and non-Latin scripts are supported correctly, not just plain ASCII.
Yes. Toggle a 0x prefix on each byte, switch between uppercase and lowercase hex digits, and control spacing or grouping of the output.
Decoding requires valid hex characters (0–9, a–f) in pairs. An odd number of digits or an invalid character will trigger a clear error message telling you exactly what to fix.
Yes. Switch to Decode mode and paste a hex string — with or without spaces or a 0x prefix — to get the original text back instantly.
Tried the tool? Leave a quick rating and help others find it.
All tools at I7 Pixel run in your browser — no uploads, no accounts, always free.