What it does
Leet speak (also called 1337 5p34k or leetspeak) is a fun internet slang convention that replaces letters with numbers and symbols to obscure — or stylize — written text. This tool converts any text to leet speak and back again, with a dictionary-powered decode that can figure out the most likely intended English words even when characters have more than one plausible meaning.
Try it
How it works
Encoding
Each intensity level applies progressively more substitution rules:
| Level | Rules |
|---|---|
| Basic | a→4, e→3, i→1, o→0, s→5, t→7 |
| Full | Basic + b→8, g→9, l→1, z→2 |
| Extreme | Full + multi-char: ck→>, vv→w, ff→ph, u↔v swap, @→4, $→5 |
Decoding
Decoding is trickier than encoding because many leet characters are ambiguous: a 1 might mean i or l, a 5 might be s or the literal digit 5. To pick the right meaning, the decoder:
- Strips the input into word-sized chunks, preserving punctuation.
- Strips punctuation from each word and works on the word core.
- Applies unambiguous substitutions first (e.g.
4→a,3→e). - Identifies ambiguous positions (characters with multiple plausible meanings) and tries all valid combinations, up to 64 per word.
- Looks each candidate up in a dictionary — the first candidate found in the dictionary is accepted as the correct decode.
- Falls back to the first combination tried if no candidate matches.
The dictionary lives in a separate wordlist.json file that is loaded once on page load and kept in memory for O(1) lookups. It can be edited or extended without touching any JavaScript.
Notes
- This is obfuscation, not encryption — anyone can reverse it. Do not use it for anything that needs real secrecy.
- Decoding works best with common English words that appear in the dictionary. Uncommon or made-up words may not decode perfectly.
- Because decode disambiguation relies on the bundled English wordlist, the Decode button is briefly disabled while the dictionary loads. If the dictionary can't be fetched, a minimal built-in fallback is used and a status message appears below the result.
- Everything runs entirely in your browser. Nothing you type is ever sent anywhere.