Hex Encoder / Decoder
Convert text to hexadecimal and back. UTF-8 aware. Accepts 0x, \x, spaced, or continuous hex on decode.
What is hex encoding?
Hexadecimal (base 16) represents each byte as two characters from 0-9 and a-f. It is the standard way to display hashes, encryption keys, binary payloads, and raw memory. Like Base64, hex is encoding — not encryption — and provides no confidentiality.
Text converted to UTF-8 bytes — any Unicode, including emoji and accented characters
Each byte read as an integer from 0 to 255
Every byte rendered as two hex digits (0–9, a–f) — high nibble then low nibble
Digits joined continuously or separated by spaces; optionally upper-cased
Two characters per byte — the standard representation for hashes, keys, and binary payloads
Input normalised — 0x and \x prefixes, spaces, commas, and line breaks stripped
Remaining characters must be 0–9a–f and form an even number of digits (two per byte)
Each pair of hex digits parsed back into a single 0–255 byte
Bytes interpreted as UTF-8 text to reconstruct the original string
Spec: Base-16 encoding (RFC 4648 §8)