Leet Speak Converter

Translate text into leet speak (1337) style. Everything runs in your browser.

Advertisement

What the converter substitutes

Leet speak, sometimes written 1337, replaces letters with digits that look roughly like them. This converter uses a fixed table of nine replacements: a becomes 4, e becomes 3, i becomes 1, o becomes 0, s becomes 5, t becomes 7, l becomes 1, g becomes 9 and b becomes 8. Every other letter, digit, space and punctuation mark is passed through untouched.

The input is lowercased before the table is applied, so an initial capital does not produce a different result. That also means the uppercase signal is lost: Elite and elite both come out as 31173, and there is no way to tell from the output which one was typed.

Why it cannot be reversed

Two letters share the digit 1, and several digits could stand for more than one letter in a looser table, so the mapping is many-to-one. Reading 31173 back as elite is a guess that happens to be right because the word is familiar; applied to an arbitrary string, the same digits could decode to several different letter sequences. This is why leet is a styling convention rather than a cipher, and why treating it as obfuscation is a mistake.

It follows that the tool is not an encoder in the cryptographic sense. It does not change length, it does not use a key, and it does not produce anything that a reader cannot undo by eye. For actual reversible encoding, base64 is the usual choice, and the base64 encoder and decoder on this site handles that pair.

Worked example

Take the phrase Elite Hacker. Lowercasing gives elite hacker. The E becomes 3, L becomes 1, I becomes 1, T becomes 7 and E becomes 3, producing 31173 for the first word. The second word gives H unchanged, A as 4, C unchanged, K unchanged, E as 3 and R unchanged, so the full output is 31173 h4ck3r. The space between the words survives, and so does every consonant that has no entry in the table.

A second pass shows how digits already in the text behave. Take SBL Tools. S becomes 5, B becomes 8 and L becomes 1, giving 581; tools becomes 70015. The result is 581 70015. Any digit the user typed, such as the 2 in a year, is left alone because digits are not keys in the table.

Where it is useful and where it is not

Gaming handles, forum usernames, stylised headings and captions are the natural home for this. It is also handy for demonstrating to a class how substitution looks without the machinery of a cipher. It is a poor choice for anything a screen reader must pronounce, for form labels, and for text that has to be searchable, since the digits break exact-match search for the original word.

Only ASCII letters are mapped. Accented characters, Cyrillic and emoji come through unchanged, so a title in French keeps its accents while its unaccented letters turn into digits, which looks inconsistent. There is no custom table and no intensity setting: the substitution is all or nothing. If you want the text mirrored as well, run the output through the text reverser afterwards, and if you want to normalise capitalisation instead of letter shapes, use the case converter.

Frequently asked questions

No. The substitution is many-to-one, since i and l both become 1, so several letter sequences produce the same digits and no exact reversal is possible.
Nine of them: a, e, i, o, s, t, l, g and b. All other letters, digits and symbols stay exactly as typed.
The text is lowercased before substitution so that both cases map the same way. The original capitalisation cannot be recovered from the result.
No. It is a visual substitution that anyone can read with a little effort. Use a real encoder or cipher when confidentiality matters.