Hexspeak Word Encoder

Write messages using hex-readable words: DEADBEEF, CAFEBABE

Free hexspeak encoder — turn words into hexadecimal-readable strings like DEADBEEF and CAFEBABE, with live hex-validity and decimal-value checks. Runs in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is hexspeak?

Hexspeak is the practice of spelling words using only the sixteen hexadecimal digits 0 to 9 and A to F, optionally swapping some letters for lookalike digits. Famous examples include DEADBEEF and CAFEBABE, which programmers use as recognisable magic numbers in memory.

Hexspeak is a programmer in-joke: spelling words using only hexadecimal digits so they can double as memorable magic numbers in code. DEADBEEF, CAFEBABE, BAADF00D and 0xC0FFEE are all real constants that have been used to mark uninitialised memory or tag file formats. This tool turns your words into hexspeak and tells you whether the result is genuinely valid hex.

How it works

Hexadecimal uses sixteen symbols: the digits 0 to 9 and the letters A to F. The letters a through f map straight onto themselves. For the rest, hexspeak relies on visual lookalikes. This tool applies the common substitutions: i and l become 1, o becomes 0, s becomes 5, t becomes 7, z becomes 2, and g becomes 6. Existing digits in your input are kept as-is.

After substitution the tool checks whether every character in the word is a valid hex digit. If so, the word is a true hexadecimal number, and the tool also shows its decimal value by interpreting the string as base 16. Letters with no hex lookalike — h, j, k, m, n, p, q, r, u, v, w, x, y — are kept visible but flagged, since they break hex validity.

The substitution table

Input letterHex substitutionRationale
aAAlready a hex digit
bBAlready a hex digit
cCAlready a hex digit
dDAlready a hex digit
eEAlready a hex digit
fFAlready a hex digit
g6Looks like 6
i, l1Both look like 1
o0Looks like zero
s5Looks like 5
t7Looks like 7
z2Looks like 2

Classic examples

dead  -> DEAD      valid hex (= 57,005)
beef  -> BEEF      valid hex (= 48,879)
cafe  -> CAFE      valid hex (= 51,966)
decade-> DECADE    valid hex (= 14,601,950)
goose -> 60052     valid hex (= 393,298)
facade-> FACADE    valid hex (= 16,435,934)
hello -> HE110     not valid hex (can't map: h)

Where hexspeak appears in real software

These are not just curiosities — programmers have used hexspeak constants for decades because they are easy to spot in memory dumps:

  • 0xDEADBEEF — filled unallocated memory in IBM RS/6000, Cisco IOS, and classic Macs to help catch use-after-free bugs.
  • 0xCAFEBABE — the magic bytes at the start of every Java .class file, which the JVM checks to confirm the file is valid bytecode.
  • 0xBAADF00D — used by Microsoft’s debug heap in Visual C++ to mark freed memory.
  • 0xC0FFEE — appears in Motorola and Java ME implementations as a debug sentinel.
  • 0xDEADC0DE — used in Apple iOS crash reports to indicate the watchdog killed the app.

Practical use

Hexspeak is mainly for fun and for naming memorable constants, but it has real utility:

  • Magic number bytes in file format headers so the format is human-identifiable in hex editors.
  • Debug sentinels in embedded or low-level code — if you see BAADF00D in memory you know immediately what it means.
  • Easter eggs in firmware and bootloaders.

Everything runs locally in your browser.