Leet Speak Converter🔒 100% local
Convert text to/from Leet Speak (1337). Three intensity levels: light, medium, heavy.
Related Tools
Swaps letters for lookalike digits and symbols, in either direction, at one of three intensities. Light covers the six usual substitutions, medium adds a few more letters, and heavy reaches for multi-character glyphs such as |_| for u and |2 for r. Decoding reads the longest glyph first so the multi-character ones survive the trip back. A small lookup table does the work locally.
How to use it
- Pick Text to Leet or Leet to Text, then an intensity.
- Type or paste the text you want converted.
- Press Convert and copy the result. Intensity is ignored when you are decoding.
Worked example
big zoombecomesb1g z00mAt light intensity b, g and z have no substitution, so big zoom keeps its letters and only the i and the two o become digits.
big zoombecomes819 200mThe same input at medium: b becomes 8, g becomes 9 and z becomes 2, which is the whole difference between the two intensities.
1337 5p34kbecomesieet speakDecoding 1337 5p34k in reverse. The numeric part comes back as ieet rather than leet, because the reverse table reads 1 as i - the same letter-for-digit ambiguity shows up on any real number you paste in.
When to use it
- Writing a handle, gamer tag or team name that needs to slip past a dumb word filter while staying readable to a human.
- Decoding leet text a friend sent so you can answer it without guessing.
- Building a puzzle clue or a scavenger hunt note that is a bit harder to skim than plain text.
What it does not do
- This is a substitution table, not a cipher. There is no key and no randomness, so anyone with the table reverses it instantly and it conceals nothing.
- Reverse conversion is lossy by design. Numbers turn into letters (1337 becomes ieet, a phone number comes back mangled), and the same glyph can stand for different letters depending on which one the table picked first.
- Heavy output includes |, backslash and backtick characters, which break Markdown tables, JSON strings and shell arguments, so heavy text is not safe in every context you might paste it into.
- Accented letters, non-Latin scripts and emoji pass through untouched, and j has no mapping at any intensity.