Hex Converter
Convert text to hex bytes and back, revealing the UTF-8 representation of any string.
Hexadecimal is shorthand for raw bytes. Where binary is long and decimal is ambiguous, hex gives every byte a tidy two-character form - the language of hash digests, memory dumps, color codes and low-level protocols. This converter shows the hex form of any text and recovers the text from hex, using the UTF-8 bytes behind every character.
The text-to-hex direction reads your string as UTF-8 and prints each byte as two hex digits, grouped for readability. The hex-to-text direction parses pairs of digits back into bytes and decodes them into characters. The conversion is exact, so the two directions are true inverses of each other.
The whole operation runs locally in your browser. Whether you are inspecting a digest, preparing a test vector or debugging a byte-level mismatch, the tool does the math on your machine and sends nothing anywhere.
Features
- Convert text to space-separated hex bytes, and hex back to text.
- UTF-8 aware, so any character - accented, CJK, emoji - maps to the exact bytes a protocol expects.
- Strict validation of hex input with a clear error for odd-length or invalid strings.
- Ignores spaces, tabs and line breaks in hex input for convenience.
- Readable grouped output that is easy to scan and compare.
- Fully offline - no uploads, no logs.
How to Use
- 1
Enter the input
Paste text to convert to hex, or a hex string to convert back to readable characters.
- 2
Select a direction
Choose To Hex to get the byte representation, or From Hex to decode pairs of digits into text.
- 3
Convert
Press the button and read the grouped hex or the recovered text.
- 4
Copy or download
Copy the result, or download it when working with larger payloads.
Example
Text to hex
Hello↓
48 65 6c 6c 6fHex to text
E4 BD A0 E5 A5 BD↓
你好Common Problems
Treating hex as ASCII
ASCII only covers 0 to 7F. For characters like é or 中 the byte values are multi-byte UTF-8 sequences, so converting per ASCII character corrupts the data. This tool always interprets bytes as UTF-8.
Feeding odd-length strings
Hex is read in pairs, so a string with an odd number of digits cannot be parsed. The tool rejects it with a clear message instead of silently misaligning every byte.
Confusing hex with color codes
A CSS color like #FF0000 is three bytes - red, green, blue. The same bytes as UTF-8 text spell different characters. Hex has no intrinsic meaning; context decides how to read it.
Hand-editing hex output
Manual edits to hex are easy to misalign. If you change a value, convert it back to text to verify the result rather than eyeballing the digits.
Assuming hex is secure
Hex is a display format, not a transform. Anything in hex can be read by converting it back, so hex encoding protects nothing and is not a substitute for encryption.
Confusing uppercase and lowercase hex
Both spellings are valid and the tool accepts either on input. Uppercase output is a common preference in logs and dumps for readability, but the two forms carry identical values - never rely on case to distinguish data.
Technical Details
Hex represents one byte as two digits from 0-9 and a-f. Because a byte is eight bits and each hex digit carries four bits, two digits always cover one byte exactly - the reason hex is the standard notation for binary data.
Text is encoded to bytes using UTF-8 before conversion. A character like 好 becomes three bytes (E4 BD A0), and converting those bytes back recovers the original character precisely.
Input hex may contain spaces, tabs or line breaks, which are stripped before parsing. The remaining characters must be an even number of valid hex digits.
Conversion is local and synchronous. No bytes leave your browser, and the tool retains nothing between sessions.
The space between byte pairs is presentational - it marks where one byte ends and the next begins, which is the difference between "48 65" (two bytes) and "4865" (also two bytes, just harder to scan). Both forms parse identically here.
A byte's two hex digits are independent of how the byte was produced, so the converter is exact for every input: there is no round-off, no options to get wrong, and no ambiguity between the hex form and the text it represents.
Frequently Asked Questions
What is the hex value of a text string?
The UTF-8 bytes of that string written as pairs of hex digits. "Hello" becomes 48 65 6c 6c 6f because each letter is one byte; multi-byte characters produce more pairs.
Why are some characters three bytes in UTF-8?
The first 128 code points need one byte, most Latin and middle-eastern scripts need two, and CJK characters and emoji need three or four. The UTF-8 scheme signals the length in the leading bits of the first byte.
Can I convert hex that has spaces between digits?
Yes. Whitespace is ignored, so both 48656C6C6F and 48 65 6C 6C 6F decode to the same text.
Does this tool work offline?
Yes. The conversion is pure local computation, so it works without a network connection and never uploads the content you paste.
Is hex the same as base64?
Both encode bytes as text, but differently. Hex uses two characters per byte; base64 uses four characters per three bytes. Hex is human-readable and exact; base64 is more compact.
Is there a difference between hex and decimal for the same value?
Only the spelling. 0xFF and 255 are the same number; hex is simply the base-16 notation. The choice matters for readability and convention, not for the value itself.
Why does the same letter produce different hex in different tools?
Because different encodings produce different bytes. UTF-8 and Latin-1 agree on ASCII but disagree on accented characters and CJK. This tool always uses UTF-8, the encoding the modern web expects.
Can I convert a single number directly to hex?
This tool converts text, which is a different operation: each character becomes the bytes of its UTF-8 encoding. To turn the number 255 into 0xFF, use a dedicated number-to-hex utility instead.
Data & Privacy
Your data stays in your browser. Nothing is uploaded.
- Processing
- Local
- Upload
- None
- Server Storage
- None
- Account
- Not required
Related Tools
Base64 Encode & Decode
Convert text to Base64 or decode it back, with an optional URL-safe mode - all in your browser.
Encoding & Conversion
URL Encoder / Decoder
Percent-encode text for safe use in URLs and query strings, or decode it back to readable form.
Encoding & Conversion
HTML Entity Encoder / Decoder
Convert HTML to its escaped entity form or decode entities back to readable markup.
Encoding & Conversion
Unicode Converter
Escape text as \uXXXX sequences or decode them back to readable characters, for JSON, JavaScript and Java.
Encoding & Conversion
Binary Converter
Convert text to its 8-bit binary form and decode binary strings back to readable text.
Encoding & Conversion
URL Parser
Break any URL into protocol, host, path, query parameters and fragment for easy inspection.
Encoding & Conversion