Leetspeak generator and translator — write 1337 and read it back

Type text to turn it into leetspeak, swapping letters for look-alike numbers and symbols, or switch direction to translate leet back into normal words.

Live demo · real result from this tool
Direction
Substitution

Result

3l173 h4ck3r5 wr173 l337 5p34k

Processed on your device — nothing is uploaded.

How to use the leetspeak generator

  1. Type or paste into Your text (the sample is “Elite hackers write leet speak”).
  2. Choose a Direction: Text → leet to convert, or Leet → text to translate back.
  3. Choose a Substitution: Light (4 3 1 0 5 7) or Heavy (every letter).
  4. Press Copy under the result.

What it does and when to use it

Leetspeak (from “elite”) began in 1980s bulletin-board and hacker culture, where swapping letters for digits made words look insider-only. Today it shows up in gamer tags, retro-hacker jokes, puzzle hunts and playful captions. Light leet keeps a word recognisable (h4ck3r); Heavy leet makes a small cipher that friends must decode.

Because leet is plain ASCII, it displays on every device, unlike Unicode fancy styles. For other text codes, try ROT13, Morse code or the A1Z26 cipher. To see the Light leet style beside 30-plus others, open fancy text in all styles.

How it works

Encoding looks at each character, lower-cases it for the lookup and swaps it if the chosen table has an entry. Upper and lower case give the same symbol. Light uses a→4, e→3, i→1, o→0, s→5, t→7. Heavy uses this table:

a 4    b 8    c (    d |)   e 3    f |=   g 6    h #    i !
j _|   k |<   l 1    m |\/| n |\|  o 0    p |*   q 0_   r |2
s 5    t 7    u |_|  v \/   w \/\/ x ><   y `/   z 2

Decoding reverses the table. It scans from left to right and always tries the longest symbol group first, so |\/| is read as m before \/ could be read as v, and |2 as r before 2 could be read as z. Anything that matches no symbol is kept as it is.

Worked examples

From the tool’s own function:

  • Noob gamer, Light → N00b g4m3r. N, b, g, m and r have no Light symbol and stay.
  • Noob gamer, Heavy → |\|008 64|\/|3|2. Every letter is replaced.
  • 1 l0v3 7h15, Leet → text, Light → i love this.
  • #31|*, Leet → text, Heavy → help.
  • A warning case: 70p 10 5173 decoded with Light gives top io site; the real number 10 was read as letters.

Limits and tips

  • Hard for screen readers and search. A screen reader reads N00b as “N zero zero b” and Heavy leet as a long list of symbol names. Search will not match leet to the real word. Keep anything people must read or find in plain text.
  • Decoding is a best guess, not an exact reverse, because symbols such as 1 and 0 are shared with real numbers.
  • Conversion runs in your browser; nothing is uploaded.

Frequently asked questions

What is the difference between Light and Heavy?
Light swaps only six letters, a e i o s t, for 4 3 1 0 5 7, so words stay readable. Heavy replaces all 26 letters, many with symbol groups such as |\/| for m, which looks more cryptic and is much harder to read.
Why did decoding turn my numbers into letters?
In leet, digits stand for letters, so the decoder cannot tell a real number from a disguised letter. With Light, "10" becomes "io". Check numbers by hand after decoding.
Do I need to pick the same Substitution level when decoding?
Yes. The two levels use different symbols for some letters; for example, 1 means i in Light but l in Heavy. Decode with the level the text was written in, or try both.
Are leet passwords secure?
No. Password-cracking tools try common leet swaps automatically, so P455w0rd is about as weak as Password. Use the strong password generator instead.
Why does my capital letter turn into a small one when decoding?
Leet symbols have no case, so decoded letters come out lowercase. Letters that were never converted keep their original case.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close