EasyDeveloper

Hex Converter

Convert text to hex bytes and back, revealing the UTF-8 representation of any string.

Local ProcessingYour data stays in your browser. Nothing is uploaded.

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. 1

    Enter the input

    Paste text to convert to hex, or a hex string to convert back to readable characters.

  2. 2

    Select a direction

    Choose To Hex to get the byte representation, or From Hex to decode pairs of digits into text.

  3. 3

    Convert

    Press the button and read the grouped hex or the recovered text.

  4. 4

    Copy or download

    Copy the result, or download it when working with larger payloads.

Example

Text to hex

Hello

48 65 6c 6c 6f

Hex 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