Hex Encoder & Decoder

Convert text to hexadecimal representation or decode hex strings back to readable text. Choose your preferred delimiter and case format. Everything runs in your browser — no data is sent to any server.

Text to Hex

Enter text to convert it to a hexadecimal string.

Hex to Text

Paste a hexadecimal string to decode it back to readable text.

How It Works

Hexadecimal (base-16) encoding represents each byte of data as a pair of hex digits, using the characters 0-9 and A-F. This gives a compact, unambiguous representation of binary data that is easy for both humans and machines to read.

Encoding: The input text is first converted to its UTF-8 byte sequence using the TextEncoder API. Each byte is then formatted as a two-digit hex value. For example, Hello becomes 48 65 6C 6C 6F.

Decoding: The hex string is parsed into individual byte values, then the resulting byte array is decoded back to a UTF-8 string using the TextDecoder API. The decoder automatically handles spaces, 0x prefixes, and concatenated hex pairs.

Common Use Cases

Debugging & Inspection

View the exact byte values of strings to debug encoding issues, hidden characters, or protocol-level data.

Color Codes

Hex values are the standard way to represent colors in CSS and design tools, such as #FF5733.

Network Protocols

Many network tools and packet analyzers display data in hexadecimal format for compact byte-level inspection.

Embedded Systems

Firmware and microcontroller programming frequently use hex representation for memory addresses and register values.

Frequently Asked Questions

What is hexadecimal encoding?

Hexadecimal encoding converts each byte of data into a two-character string using the digits 0-9 and letters A-F (or a-f). It is commonly used in programming, debugging, and data representation because it provides a compact and human-readable way to express binary data.

How do I convert text to hex?

Each character in the text is first encoded to its UTF-8 byte sequence. Then each byte is converted to its two-digit hexadecimal representation. For example, the letter 'A' (ASCII 65) becomes '41' in hex, and 'Hello' becomes '48 65 6C 6C 6F'.

What delimiters can I use between hex bytes?

This tool supports three delimiter styles: spaces (e.g., '48 65 6C 6C 6F'), no delimiter (e.g., '48656C6C6F'), and the 0x prefix (e.g., '0x48 0x65 0x6C 0x6C 0x6F'). The decoder automatically detects and handles all three formats.

Does this tool support Unicode characters?

Yes. The tool uses UTF-8 encoding via the browser's TextEncoder API, so multi-byte Unicode characters are fully supported. For example, the euro sign (U+20AC) becomes 'E2 82 AC' in hex because its UTF-8 encoding is three bytes.

Related Tools