Base16 Encoder and Decoder

Encode plain text as Base16 hex, or decode Base16 hex back into readable text.


Question

What is Base16?

Base16, also called hexadecimal or hex, represents data with 16 symbols: 0-9 for values zero through nine and A-F for values ten through fifteen. Each Base16 character carries four bits, so each byte is written as two hexadecimal characters. For example, the UTF-8 byte for the letter A is 0x41, which appears as 41 in Base16.

This tool encodes plain text by representing each UTF-8 byte as a two-character lowercase hexadecimal value. Decoding performs the reverse operation: it reads an even-length Base16 string as hexadecimal byte pairs and returns the decoded UTF-8 text.

Base16 is useful for inspecting binary data in logs, comparing byte sequences, copying identifiers, debugging protocol payloads, and documenting values that would otherwise be hard to read safely as plain text. It is not compression or encryption: encoded output is larger than the original bytes and anyone can decode it if they have the Base16 text.

Input for decoding must contain only hexadecimal digits and must have an even number of characters because two hex digits make one byte. The RFC 4648 Base16 alphabet is uppercase, but hexadecimal decoding is commonly case-insensitive, so lowercase and uppercase A-F are both accepted.