Hex to Text Converter

The Hex to Text Converter takes the hex values you paste into Hex Input — one per character — and decodes them back into readable text. Click Convert and your original message shows up in the Text Output box. The binary to decimal converter weighs each bit in your input by its place value and adds them up to produce the decimal total instantly.

How to Use the Hex to Text Converter

Step-by-Step: Decoding Hex Into Text

  1. Paste your hex values into Hex Input: Separate each value with a space or a new line — for example 48 65 6C 6C 6F. Each token is treated as one character's code point.
  2. Watch the conversion happen live: The result appears in Text Output as you type, with no button required to trigger it — though a Convert button is also there if you prefer to click it.
  3. Copy your result: Use the Copy button next to the output box to grab the decoded text.
  • Both uppercase and lowercase hex digits work — 4A and 4a decode identically.
  • This tool decodes any Unicode character, not just the basic ASCII range — each hex value is read as that character's actual code point, whatever it is.

Common Conversion Errors and Troubleshooting Tips

  • Invalid hex value: Characters outside 0–9 and A–F in a token will produce an error for that value.
  • Missing separators: If you paste one long unbroken hex string instead of space- or newline-separated values, the tool won't know where one character's code point ends and the next begins — split it into individual tokens first.
  • Unexpected output: If your decoded text looks garbled, double-check you're reading each hex value as a single character's code point rather than as a raw byte pair from a different encoding (such as UTF-8), since this tool decodes code points directly, not multi-byte UTF-8 sequences.
Infographic showing how to convert hex 43 61 74 to text: each hex value is converted to a decimal code point (67, 97, 116) and decoded to the characters Cat
Hex to Text Converter: 43 61 74 = Cat

Understanding Hexadecimal and Character Code Points

Hexadecimal Number System Explained

  • The hexadecimal system ("hex") is a base-16 numeral system used widely in computing. It uses 16 digits: 0–9 and letters A–F.
  • Each hex digit represents exactly four binary digits (a "nibble"), which is why hex is such a compact way to write out binary-derived values. Example: F in binary is 1111.
  • Hex is standard in memory addressing, HTML colors (e.g., #FF0000), and programming for representing byte- and character-level data.

Character Code Points: ASCII and Unicode

  • Computers don't store letters directly — every character is really a number under the hood, defined by a text encoding standard. ASCII covers the basic Latin alphabet with 128 code points (0–127); Unicode extends this to cover essentially every character in every writing system.
  • Each character has an associated code point — for instance, 'A' is 65 in decimal, 0x41 in hexadecimal, or 01000001 in binary. This tool works with the hexadecimal form.
  • Because this converter reads the actual Unicode code point behind each hex value, it isn't limited to the 128 basic ASCII characters — accented letters, symbols, and characters from other scripts all have their own code points and decode the same way.
  • Converting hex values back to text is useful for decoding system logs, checking how a string was encoded, solving character-code puzzles, and generally understanding content that's been represented as raw hex.

Manual Method: Converting Hex Code to Readable Text

Manual Conversion Steps

  1. Take each hex token as one character: Each space- or newline-separated hex value represents exactly one character's code point.
  2. Convert each hex value to decimal: For a two-digit hex value xy, the decimal value is:
    $$\text{Value} = x \times 16^1 + y \times 16^0$$
  3. Look up the character for that code point: Use a Unicode/ASCII reference table to find the character matching each decimal value.
  4. Repeat for every token until you've reconstructed the whole string in order.

Sample Calculation: 41 Hex to Text

Hex input: 41
Step 1: This single value represents one character
Step 2: Convert to decimal: $$4 \times 16^1 + 1 \times 16^0 = 64 + 1 = 65$$
Step 3: Look up 65 in a Unicode/ASCII table: 65 = 'A'
Result: 41 hex = 'A'

Worked Example: 48 65 6C 6C 6F to 'Hello'

  1. Input hex (space-separated): 48 65 6C 6C 6F
  2. Decimal equivalents: 72, 101, 108, 108, 111
  3. Character mapping: H, e, l, l, o
  4. Output: Hello

Conversion Table: Hexadecimal, Character, and Binary Reference

For quick reference, this hex to text conversion table shows common hex code points, their character equivalents, and corresponding binary values:

HexadecimalBinaryCharacterDecimal
0000000000NUL0
0100000001SOH1
0700000111BEL7
0900001001HT (Tab)9
0A00001010LF (Newline)10
0D00001101CR13
2000100000Space32
2100100001!33
3000110000048
4101000001A65
4801001000H72
6501100101e101
6C01101100l108
6F01101111o111
7A01111010z122
7F01111111DEL127

Beyond code point 127, Unicode continues with characters like accented letters, symbols, and scripts from other languages — this converter decodes those hex values exactly the same way, reading each as its real code point rather than stopping at the basic ASCII range.

Reversing the Process: Text to Hex

Encoding Text Into Hex

  1. Find the code point for each character: Look up the decimal code point of each symbol in your text.
  2. Convert decimal to hex: Divide the decimal value by 16, using the quotient and remainder to build the hex digits.
  3. Repeat for every character in your string, keeping them in order.

Worked Example: Encoding 'A' and '0' to Hex

  1. Input: A, 0
  2. Code point for 'A': 65; for '0': 48
  3. Decimal to hex for 'A': $$65 = 4 \times 16^1 + 1 = 41_{16}$$
  4. Decimal to hex for '0': $$48 = 3 \times 16^{1} + 0 = 30_{16}$$
  5. Result: 'A' → 41, '0' → 30

For the full reverse conversion — encoding any text string into its hex code points automatically — use the Text to Hex Converter on this site. The hex to ip address converter takes the 8-digit hex value you enter and outputs the matching IPv4 address in dotted-decimal form.

Hex to Text Conversion in Code

Here are working examples of decoding hex to text and encoding text to hex in three common languages. The fastest way to compute a hex value's two's complement at a specific bit width is the hex twos complement calculator.

JavaScript Implementation

// Converts a hex string (byte pairs) to text
function hexToText(hexString) {
  let result = '';
  for (let i = 0; i < hexString.length; i += 2) {
    let byte = hexString.substr(i, 2);
    result += String.fromCharCode(parseInt(byte, 16));
  }
  return result;
}
// Example: hexToText("48656C6C6F") returns "Hello"

Java Implementation

// Converts a text string to its hex representation
String text = "Hello";
StringBuffer hex = new StringBuffer();
char[] chars = text.toCharArray();
for (int i = 0; i < chars.length; i++) {
  hex.append(Integer.toHexString((int) chars[i]));
}
// hex.toString() returns "48656c6c6f"

C++ Implementation

#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
int main() {
  std::string hex = "48656C6C6F";  // example input
  std::string output;
  for (size_t i = 0; i < hex.length(); i += 2) {
    std::string byte = hex.substr(i, 2);
    char chr = (char)(int)strtol(byte.c_str(), nullptr, 16);
    output.push_back(chr);
  }
  std::cout << output << std::endl;   // Output: Hello
}

Each example follows the same core flow: split the hex string into two-digit groups, convert each group to its decimal code point, then map that code point to a character (or the reverse, for encoding).

Common Uses for Hex to Text Conversion

  • Encoding & obfuscation checks: Quickly seeing what a string of character codes actually spells, or generating hex codes from text for a script.
  • Debugging text encoding issues: Verifying exactly which code points a string contains when something looks garbled.
  • Learning character encoding: Seeing the direct mapping between letters and their underlying numeric codes.
  • CTFs & puzzles: Decoding character-code ciphers or generating them for challenges.

Frequently Asked Questions

Does this support letters beyond basic English text?

Yes — it works with any Unicode character, not just the basic ASCII range. Each character's actual code point is used, whatever it is.

Is this the same as encryption?

No. This is a direct, publicly-known representation of each character's code point, not a cipher, and it doesn't provide any security or secrecy.

How should I separate hex values when decoding?

Separate each value with a space or a new line — the tool splits on whitespace and treats each token as one character's code point.

Does this tool send my text anywhere?

No. Everything runs locally in your browser using client-side JavaScript. Nothing you type is uploaded or stored.