Skip to content
CalcTide logo
Tech

Hex to Text Converter

The hex bytes 48 65 6c 6c 6f decode to the word Hello. This hex to text converter translates hexadecimal byte strings into readable text, and it also runs the process in reverse to turn plain text into hex. Enter a hex string or a line of text, choose a direction, and the tool returns the converted result along with a byte count. It accepts hex with or without spaces, commas, or 0x prefixes, handles both uppercase and lowercase digits, and decodes full UTF-8, so accented letters, punctuation, and emoji all survive the round trip. Hex shows up anywhere raw bytes need a readable form: network packet captures, API debug logs, firmware and memory dumps, and programming exercises that hand you a string of hex pairs instead of a sentence. Rather than converting each pair by hand with a lookup table, paste the whole string and read the decoded text immediately, or run the reverse direction to see exactly which bytes a piece of text produces before sending it to another system.

TechBy

Quick answer

Computers store text as bytes, and hex is a compact way to write those bytes, two hex digits per byte.

Output

Hello

Bytes

5

What this tells you

  • Computers store text as bytes, and hex is a compact way to write those bytes, two hex digits per byte.
  • The letter H is byte 72 in decimal, which is 48 in hex.
  • Decoding reads each hex pair, converts it to a byte, and interprets the bytes as UTF-8 text.
  • Encoding runs the same steps backward, text to bytes to hex pairs.
  • A single hex pair always represents one byte, a value from 00 through ff, which is 256 possible values.
  • Plain ASCII characters like letters, digits, and punctuation each take one byte, but accented letters, many symbols, and emoji take two to four bytes in UTF-8.
  • The converter strips spaces, commas, and 0x prefixes from hex input automatically, so pasted output from another tool usually works without cleanup.
  • A failed decode almost always means the byte sequence is the wrong length or is not valid UTF-8, which is common with binary files or non-UTF-8 encodings.

How to Use

  1. 1Pick a direction, hex to text or text to hex.
  2. 2Paste your input. Hex can include spaces, commas, or 0x prefixes, which are stripped automatically.
  3. 3For hex to text, check that the digit count is even. Two hex digits make one byte, so an odd count means a byte got cut off somewhere.
  4. 4For text to hex, type or paste any text, including accented letters, symbols, and emoji.
  5. 5Read the converted output and the byte count below it.
  6. 6If hex refuses to decode, check for an odd digit count or bytes that are not valid UTF-8, since not every byte sequence is readable text.

How It Works

Formula

each byte = two hex digits, text = UTF-8(bytes)

Hexadecimal is base 16, using the digits 0-9 and the letters a-f, and one byte, a value from 0 to 255, always fits in exactly two hex digits. Each digit in a pair represents a power of 16, so a pair reads as (first digit times 16) plus the second digit. The pair 48 means 4 x 16 + 8 = 72, which is the UTF-8 code for the letter H. A hex string decodes by splitting into consecutive two-digit pairs, converting each pair to its byte value with that formula, and reading the resulting byte sequence as UTF-8, the encoding behind almost all modern text, web pages, and APIs. Encoding text runs the same logic in reverse: each character becomes one or more UTF-8 bytes, and every byte is written out as a two-digit hex pair with a leading zero when needed.

Calculation note: values are processed in the order shown above, using the current input units.

Worked Examples

Decode a classic

Value48 65 6c 6c 6f
Directionhex to text
ResultHello

Five bytes, one per letter: 48=H, 65=e, 6c=l, 6c=l, 6f=o.

Encode a word

Valuecat
Directiontext to hex
Result63 61 74

c is 0x63, a is 0x61, t is 0x74.

Decode with 0x prefixes

Value0x57 0x6f 0x77
Directionhex to text
ResultWow

Prefixes and spacing are cleaned up before decoding.

Encode a short phrase

ValueHi Bob
Directiontext to hex
Result48 69 20 42 6f 62

Each character becomes one byte, including 20 for the space between the two words. Six characters produce exactly six hex pairs, since every byte here fits in the plain ASCII range.

Decode an accented character

Value63 61 66 c3 a9
Directionhex to text
Resultcafé

The first three bytes, 63 61 66, are the plain ASCII letters c, a, and f. The last two bytes, c3 a9, form a single UTF-8 sequence for é, which needs two bytes because it falls outside the ASCII range.

Encode an emoji

Value🙂
Directiontext to hex
Resultf0 9f 99 82

Emoji sit far outside the ASCII range, so UTF-8 encodes this smiley as four bytes instead of one. The byte count confirms it: one visible character produces four hex pairs.

Common Characters in Hex

UTF-8 byte values for everyday characters.

CharacterHexDecimal
A4165
a6197
03048
space2032
!2133
~7e126

Common mistakes

  • Pasting an odd number of hex digits. Bytes need two digits each, so a lone trailing digit means something got cut off.
  • Confusing hex text encoding with hex numbers. 48 as a hex number is 72, but as an encoded byte it is the letter H.
  • Expecting arbitrary bytes to decode. Random hex often is not valid UTF-8 text, and the converter reports it rather than guessing.
  • Assuming one hex pair equals one visible character. An accented letter or emoji needs more than one pair, because UTF-8 spends extra bytes on characters outside the ASCII range.
  • Mixing up hex numbers with hex byte strings. A color code like ff0000 is three raw bytes (ff, 00, 00), not the text encoding of anything meaningful, so decoding it as UTF-8 text will fail or return unreadable output.

Embed this calculator on your site

Drop this single line where you want the calculator to appear. It is responsive, mobile-friendly, resizes automatically, and is free to use with attribution.

<script src="https://calctide.com/embed.js" data-tool="hex-to-text-converter" async></script>

Preview the embed at /embed/hex-to-text-converter/.

Frequently Asked Questions

Split the hex into two-digit pairs, convert each pair to its byte value, and read the bytes as UTF-8. The pairs 48 65 6c 6c 6f become Hello. This converter runs all three steps at once and shows the byte count alongside the result.
It is the word Hello written as UTF-8 bytes in hex: H=48, e=65, l=6c, l=6c, o=6f. Each pair maps to one ASCII letter because every character in Hello falls inside the basic ASCII range.
Either the digit count is odd, a character outside 0-9 and a-f slipped in, or the byte sequence is not valid UTF-8 text, which happens with binary data or other encodings. Check the digit count first, since that is the most common cause.
No. 6C and 6c represent the same byte, and the converter accepts either case in hex input. Output uses lowercase by convention, matching the style used in most programming languages and networking tools.
Yes. UTF-8 encodes them as multi-byte sequences, so an accented letter like é typically takes 2 bytes and most emoji take 4 bytes. Both directions handle that automatically without any extra setting.
No. The conversion runs entirely in your browser using built-in text encoding APIs, and nothing is sent to a server.
Hex to text treats each hex pair as one UTF-8 byte and decodes the whole sequence as readable characters, while hex to decimal treats the hex string as a single number and converts it to base 10. The pair 48 as text is the letter H, but 48 as a number is 72 in decimal, so pick the tool that matches what the hex actually represents.
Because UTF-8 uses more than one byte for any character outside the basic ASCII range. A plain letter or digit produces one hex pair, an accented letter or symbol usually produces two, and most emoji produce four, so the pair count reflects bytes rather than visible characters.
Not usefully. Color hex codes describe red, green, and blue intensity values rather than encoded text, so decoding one as UTF-8 will usually fail or return unreadable characters. Use a dedicated color converter for hex color codes, and reserve this tool for hex that represents encoded text.
It estimates hex to text converter outputs using the visible inputs and formula assumptions on this page.

Explore More in Tech