ForHosting KIT · Developer Utilities

Leetspeak translator

Hello World becomes H3110 W0r1d with the classic leetspeak table: e turns into 3, l into 1 and o into 0, while spaces and punctuation stay in place. Decode mode maps the digits back to letters. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Text
Hello World
Calculation mode
Encode
You get
Result
H3110 W0r1d
Length
11
Substituted
6
Alphabet
a4 e3 i1 o0 s5 t7 b8 g9 l1 z2 +@$!|

Leetspeak, also called 1337 speak, is the playful substitution style that replaces familiar Latin letters with look-alike digits and symbols so Hello becomes H3110 and elite becomes 31173. Spaces, punctuation, and unmapped characters stay in place so phrases keep their shape. You choose the mode explicitly—encode or decode—so scripts never guess which way the string should go.

How classic leetspeak substitutions work

Classic leetspeak is not encryption and not a cipher with a secret key. It is a fixed character substitution profile that maps selected Latin letters to digits and symbols people have used for decades in gamer handles, forum nicknames, and puzzle copy. On encode, each letter is compared case-insensitively against the table: a becomes four, b becomes eight, e becomes three, g becomes nine, i and l both become one, o becomes zero, s becomes five, t becomes seven, and z becomes two.

Letters outside that set keep their original character and case; spaces, punctuation, emoji, and digits already present in the input pass through unchanged so Hello World becomes H3110 W0r1d rather than a packed blob.

On decode, the reverse table maps those digits and a few common symbol variants back to lowercase letters: four and at-sign become a, eight becomes b, three becomes e, nine and six become g, one and exclamation mark become i, pipe becomes l, zero becomes o, five and dollar become s, seven and plus become t, and two becomes z. Ambiguous glyphs resolve deterministically—one always decodes to i, not l—so two clients never disagree.

There is no random seed, no network call, and no wall-clock timestamp in the path: every step is a pure table lookup. This page implements that fixed classic profile only—not multi-glyph “hardcore” packs, not ROT or Caesar rotation, not Base64, and not an AI rewriter that invents creative spellings. Those are separate tools and search intents.

Where leetspeak tools show up in real work

Introductory internet-culture and programming courses often ask students to implement letter-to-digit substitutions; a single trusted leetspeak oracle speeds homework demos and auto-graders that need both encode and decode. Capture-the-flag warm-ups and puzzle hunts still hide 1337-style messages that mix words and look-alike digits, and solvers want a fast, predictable transform rather than a general cryptanalysis suite. Support and content teams sometimes lightly stylize spoilers, quiz answers, product nicknames, or internal labels in leet form and later need a reverse path without installing a language-specific library.

If you need a rotation cipher, strong authenticated encryption, Base32 or Base64 encoding, Braille, or automatic frequency-analysis key recovery, treat those as separate search intents and landings rather than overloading this fixed leetspeak page.

Classroom leet substitution demos

Show students how letter-to-digit tables work, with one ground-truth encode and decode path for homework and auto-graders.

Puzzle and CTF 1337 strings

Encode challenge copy into classic leetspeak or reverse leet glyphs without writing a one-off script for every problem set.

What is leetspeak?

Leetspeak (1337 speak) substitutes Latin letters with look-alike digits and symbols—for example a→4, e→3, i→1, o→0, s→5, t→7. It is stylistic obfuscation, not cryptographic security.

How do I convert text to leetspeak?

Send your string in the text field with mode encode (the default). Letters in the classic table are replaced; other characters pass through unchanged.

How do I translate leet back to plain text?

Set mode to decode. Digits and common leet symbols map back to lowercase letters with a fixed reverse table (for example 4→a, 3→e, 1→i).

What happens with empty input?

You must provide a non-empty text string; blank input is rejected and not charged.

What does it cost?

The browser tool is free and runs locally.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/enc/leetspeak

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/enc/leetspeak \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello World"}'
{
  "text": "Hello World"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.leetspeak",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

This tool applies a fixed classic substitution table in either direction: encode plain text into leetspeak for nicknames, puzzle strings, and light obfuscation labels, or decode leet glyphs back toward readable letters with a deterministic reverse map. Empty input is rejected with a clear invalid_input error rather than returned unchanged.

What you send and what you get back

Send a required string field named text containing the message you want to convert. Optionally send mode as encode or decode; when omitted, encode is the default. Classic checks include encoding Hello World into H3110 W0r1d, decoding 31173 back toward elite-style plain letters, and confirming that an empty text field is rejected rather than returned unchanged. Aliases such as input, value, data, message, plaintext, ciphertext, and leet are accepted for the same field so scripts can reuse existing payload shapes. Direction aliases such as op, operation, and direction, and short values like enc, dec, to_leet, and from_leet are also accepted. On success the response echoes the original text, returns result as the transformed string, mode as the resolved operation, length of the result, substituted as the count of characters that hit the table, plus alphabet, cipher, and profile labels so clients can assert they hit the classic leetspeak profile. Missing text, non-string objects for text, empty strings, unknown mode values, and strings longer than the documented maximum fail with invalid_input and a clear English message. Validation failures do not consume prepaid balance. Pricing for successful API calls is the published base of $0.002 per item.

Where leetspeak tools show up in real work

Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.

Nickname and label styling

Turn plain handles or quiz labels into leet form in the browser, then recover readable letters with the same API contract.

Read the full KIT documentation →