Skip to content

Hex to Text and Back, Byte by Byte

Runs 100% in your browser — your text never leaves this page, and nothing is uploaded or stored.

This hex to text converter turns text into hexadecimal byte values and decodes hex back into text, byte for byte, with uppercase or lowercase output. Use this hex to text converter to decode pasted hex — spaces, line breaks and 0x prefixes forgiven — or as a text to hex converter with uppercase or lowercase output.

How to Use the Hex to Text Converter

  1. Paste your text (or your hex) into the box — or press Load sample to encode the example whisper.
  2. Choose the mode: Text → Hex to encode, Hex → Text to decode.
  3. When encoding, tick Uppercase hex for the AB12 style or untick it for ab12 — decoding accepts either.
  4. Read the result in the result box, then copy it into your code, datasheet or document.

About this tool

Hexadecimal is the working language of computing: colour codes, memory dumps, MAC addresses, hash outputs and file signatures all speak hex because one byte is always exactly two digits. This converter shows your text’s real UTF-8 bytes in hex form. Encoding reads your text as UTF-8 bytes and writes each byte as exactly two hex digits, space-separated, padded with a leading zero when a value needs it — H is 48, a space is 20. The case toggle changes only the letters in the output, 6F versus 6f; the values underneath are identical either way. Decoding forgives the mess real hex arrives in: spaces and line breaks are ignored, 0x prefixes are stripped, and anything that is not a hex digit is filtered out before pairing. What it cannot forgive is an odd number of digits — bytes come in pairs — and then it tells you plainly instead of guessing at your data. Reach for it when cleaning up hex copied out of documentation, packet captures and datasheets, or when learning how the bytes under text really look. Conversion happens entirely in your browser; nothing you convert is sent to a server.

Worked example

Here is the sample phrase that comes with the tool, encoded with the default settings (uppercase on): You paste
Hex is how computers whisper
You get
48 65 78 20 69 73 20 68 6F 77 20 63 6F 6D 70 75 74 65 72 73 20 77 68 69 73 70 65 72
Twenty-nine characters became twenty-nine pairs — every character here is plain ASCII, so each takes a single byte: H is 48, e is 65, x is 78 and the spaces are 20. The output is uppercase because the toggle defaults on; the values would be exactly the same in lowercase.

Features

  • Byte-accurate UTF-8 conversion: every byte as exactly two hex digits, zero-padded.
  • A forgiving decoder: spaces, line breaks and 0x prefixes are stripped automatically.
  • An uppercase/lowercase output toggle — the values are the same; the style is yours.
  • Plain-language errors for odd-length hex instead of silently wrong text.
  • Round-trip both ways: anything encoded here decodes here, character for character.
  • Private by design: conversion happens in your browser; your data is never sent anywhere.

Hex to Text FAQs

Why do some characters produce more than one hex pair?UTF-8 uses one byte for basic English letters, two for accented letters, and up to four for emoji — each byte is one hex pair.
What does 0x mean in hex strings?It is a prefix programmers use to say “this number is hexadecimal”. The decoder ignores it safely.
Is hex case-sensitive?No. 4A and 4a are the same byte; the toggle only changes how the output looks.
Is my data sent to a server?No — conversion happens in your browser.
Why is my hex so much longer than my text?Each character is at least one byte, and each byte takes two hex digits — plus a space between pairs in this tool’s output. A 29-character line of plain English becomes 29 pairs, as the worked example shows.
Can I decode hex with no spaces, like 48656C6C6F?Yes — spaces are optional. The decoder removes everything that is not a hex digit and then pairs the digits up, so continuous hex, spaced hex and 0x-prefixed hex all decode the same way.
What does an “odd number of digits” error mean?Hex bytes are pairs of digits, so a valid string has an even digit count after cleaning. An odd count means a digit was lost or added in copying — check the ends of the string first.
More text encoder decoder tools →