Hex to Text Converter

Decode a hexadecimal byte string as UTF-8 text, with strict validation and Unicode support.

Numbers & Units
Preparing your workspace…

Input

Preparing your workspace…

Output
Your result will appear here.

How to use

  1. Paste a Hex string, with optional whitespace and one leading 0x.
  2. Check the decoded text or the byte/UTF-8 error.
  3. Copy the text or download JSON, preserving spaces and controls.

Hex to Text Converter

A Hex string may contain the UTF-8 bytes of a message. This tool reconstructs the bytes in their original order and decodes them into text; it does not treat the whole string as a number.

ASCII letters use one UTF-8 byte each. Chinese characters and emoji use several bytes, so one visible character can produce several pairs of hex digits.

Representations and workflow

Each pair describes one byte: 48 65 6c 6c 6f decodes to Hello. Letter case does not matter. You can paste continuous hex or groups of complete bytes separated by spaces, tabs or line breaks.

Worked example
Input
48656c6c6f20e4b8ade6968720f09f918b
Result
Hello 中文 👋

Each pair is one UTF-8 byte; a character may need more than one pair.

Precision and validation

Only hexadecimal digits, whitespace and one optional leading 0x are accepted. Every whitespace-separated group must have an even number of digits. Inputs such as 4 8, repeated 0x prefixes, commas and \x escapes are rejected.

Interpreting and reusing the result

Decoding uses strict UTF-8, preserving a BOM and actual control characters. Invalid UTF-8 is rejected rather than replaced with a guessed character. Arbitrary binary data, legacy encodings and UTF-16 dumps may not represent valid UTF-8 text.

Processing limits

Numbers: up to 500 lines / 1 MiB, at most 4,096 characters per numeral. Fraction output: 1–128 digits. Text and byte data: 64 KiB. Bitwise operations: 8–256 bits. Workers stop after 30 seconds; inputs are not uploaded.

Further readingWHATWG · UTF-8
?

Frequently asked questions

Can I decode Hex without spaces?

Yes. Compact strings and whitespace-separated groups of complete bytes are accepted. A single leading 0x or 0X is optional.

Why is valid Hex sometimes rejected?

Valid hex digits do not guarantee valid UTF-8. FF and incomplete multibyte sequences are not valid UTF-8 text.

Is 313233 the number 123?

Here it is the UTF-8 byte sequence for the text 123. To interpret a Hex string as one integer, use Hex to Decimal instead.

Is my input sent to a server?

No. Computation runs in a browser worker. DevToolsy does not upload or store your input.

What does Copy include?

Copy exports the displayed string. Download JSON includes the full result and byte count, preserving Unicode and control characters.

Find your next tool

Language

Switch language? Your current work will be cleared. Copy or download it first.