> encode | decode | hex <

// Base16 (Hexadecimal) encoding for binary data representation

[SIMPLE]

Easy to Use

Simple interface for instant Base16 encoding and decoding. No technical knowledge required.

[SECURE]

Local Processing

All conversions happen in your browser. Your data never leaves your device.

[FAST]

Instant Results

Real-time conversion with no delays. Perfect for debugging and development.

>> technical info

How Base16 Works:

Base16 (hexadecimal) uses 16 characters (0-9, A-F) to represent binary data. Each byte is represented as two hexadecimal digits.

Example:

"Hello" → 48656C6C6F

Why Use Base16:

  • >Compact binary data representation
  • >Human-readable format
  • >Standard in programming and debugging
  • >No special characters needed
  • >Universal support across systems

>> frequently asked questions

What is Base16 encoding?

Base16, also known as hexadecimal, is a numeral system that uses 16 symbols (0-9 and A-F) to represent binary data in a human-readable format.

When should I use Base16?

Base16 is ideal for representing binary data, color codes, memory addresses, and debugging purposes. It's commonly used in programming and system administration.

Is Base16 the same as hexadecimal?

Yes, Base16 and hexadecimal are the same. Hexadecimal is the more common name for the base-16 numeral system.

Can I decode any Base16 string?

You can decode any valid Base16 string that contains only the characters 0-9 and A-F (case insensitive). Invalid characters will result in an error.

What is the difference between Base16 and Hex?

They are two names for the same thing. Hex (short for hexadecimal) is the everyday name used in programming, debugging, and color codes. Base16 is the formal name defined by RFC 4648 — it specifies how to encode binary bytes as a string of hex digits, including that each byte becomes exactly two characters and that the alphabet is case-insensitive. Whenever you see 0xFF, #FFFFFF, or a MAC address like 00:1B:44:11:3A:B7, that's hex / Base16.

How do I encode text to Base16 (hex) online?

Paste or type your text in the INPUT area and click [ENCODE]. Each character is converted to its byte value and displayed as two hex digits. For example, Hello becomes 48656C6C6F. The encoder handles full UTF-8, so emoji and non-Latin characters encode to the multi-byte UTF-8 sequence.

How do I convert hex back to text?

Paste the hex string into the INPUT area and click [DECODE]. Whitespace and common separators like 0x, colons, and dashes are stripped automatically — so 48 65 6C 6C 6F, 0x48656C6C6F, and 48:65:6C:6C:6F all decode to Hello. The decoded bytes are then interpreted as UTF-8 text.

How do I convert text to hex in code?

Every major language has built-in support:
JavaScript[...new TextEncoder().encode(str)].map(b => b.toString(16).padStart(2,'0')).join('')
Node.jsBuffer.from(str).toString('hex') and Buffer.from(hex, 'hex').toString()
Pythonstr.encode().hex() and bytes.fromhex(hex).decode()
PHPbin2hex($str) and hex2bin($hex)
Shellecho -n "Hello" | xxd -p or od -An -tx1
Gohex.EncodeToString([]byte(s)) / hex.DecodeString(s)

Why does hex use exactly two digits per byte?

A byte is 8 bits, and a single hex digit represents 4 bits (0–15). So exactly two hex digits cover all 256 possible byte values, from 00 to FF. This tight mapping is why hex is the universal language for binary debugging — you can read a packet dump, a memory snapshot, or a hash fingerprint directly in hex with no conversion.

Is hex case-sensitive?

The alphabet is case-insensitiveFF and ff represent the same byte. However, different systems display it differently by convention: cryptographic hashes (SHA-256, MD5) and Ethereum addresses are usually shown lowercase, color codes like #FFFFFF are usually uppercase, and MAC addresses vary by vendor. When storing hex as a string for comparison, always normalize the case.

What are common uses of Base16 / hex?

Cryptographic hashes — SHA-256 and MD5 digests are almost always displayed as hex. Color codes#RRGGBB in CSS. Memory addresses0x7FFF1234 in debuggers and core dumps. Binary file inspectionhexdump, xxd, and hex editors. Network protocols — MAC addresses, IPv6 addresses, packet payloads in Wireshark. Embedded systems — register values, firmware dumps, EEPROM contents.

What is the difference between Base16, Base32, and Base64?

All three are binary-to-text encodings defined by RFC 4648 — they convert binary bytes into printable characters. The difference is alphabet size and efficiency:
Base16 uses 16 characters (0–F), 2 chars per byte, 100% size overhead — easiest to read
Base32 uses 32 characters, ~60% overhead, safe for case-insensitive systems like DNS
Base64 uses 64 characters, ~33% overhead, the standard choice for most text channels
Base16 trades size for readability; Base64 trades readability for size.

What is the prefix 0x in hexadecimal?

0x is a notation used in many programming languages (C, C++, Java, Python, JavaScript) to indicate that the digits that follow are hexadecimal rather than decimal. For example, 0xFF is the decimal number 255. The prefix is purely a convention of the language — it is not part of the hex value itself. Other conventions include &H (Basic, x86 assembly), $ (6502 assembly, Delphi), and trailing h (some assemblers).