ForHosting KIT · Text & AI

Atbash cipher encoder/decoder

Hello becomes Svool: Atbash swaps each letter for its mirror in the alphabet, A with Z and B with Y, keeping capitals and leaving digits and punctuation alone. Run the result through again and you get the original back. 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
You get
Result
Svool

Apply the Atbash substitution cipher (A↔Z) on Latin letters. Search intent: atbash cipher decoder encoder. No network calls, no random seeds, and no server state are required for a correct answer.

How the Atbash mirror works

Atbash is a substitution cipher with a single fixed rule: write the alphabet forwards, write it backwards underneath, and swap each letter for the one below it. A becomes Z, B becomes Y, C becomes X, and so on until M and N trade places in the middle. Uppercase letters stay uppercase and lowercase letters stay lowercase, which is why Hello becomes Svool. Digits, spaces, punctuation and any other character pass through untouched, so word lengths and the shape of each sentence remain visible in the encoded text.

One step to encode and decode

Because the mirror works in both directions, applying Atbash twice brings back the original letters. You never need to choose a decoding mode: paste plain text to encode it, or paste Atbash text to read it, and the same step does both. The same input always gives the same result, with no key, no randomness and no connection needed. That also means Atbash hides nothing from anyone who knows the rule, so it is best suited to showing how substitution ciphers work and to checking an encoded line quickly.

How it works

Apply the Atbash substitution cipher (A↔Z) on Latin letters. Involutive: encoding twice returns the original letters. The implementation is pure JavaScript with no external services.

No network calls, no random seeds, and no server state are required for a correct answer. Failed jobs are not billed. Landings target the stated search intent with precise keywords.

Prefer explicit units and ranges over silent coercion of bad types. When a field is optional, defaults are documented in params and echoed in the output.

When to use it

Use this when your search intent matches the calculator name and you need a reproducible answer for teaching, finance ops, GIS, text tooling, or unit history work. Apply the Atbash substitution cipher (A↔Z) on Latin letters. No network calls, no random seeds, and no server state are required for a correct answer.

Failed jobs are not billed. Landings target the stated search intent with precise keywords. Prefer explicit units and ranges over silent coercion of bad types.

When a field is optional, defaults are documented in

Does it call the network?

No. All math and text transforms are local and deterministic.

How do I decode an Atbash message?

Paste it in and apply the same cipher. Atbash is its own inverse, so encoding twice gives back the original. Svool, for example, turns back into Hello. There is no separate decoding mode to choose.

Which characters does the Atbash cipher change?

Only the letters A to Z, uppercase and lowercase, and each keeps its case. Digits, spaces, punctuation and every other character come out exactly as you typed them.

Can Atbash protect a secret message?

No. It has no key: the same letter always becomes the same letter, so anyone who knows the rule can read the message. It is useful for teaching how substitution ciphers work, not for keeping secrets.

What does swapping A with Z actually mean?

The alphabet is folded in half and each letter trades places with its partner on the other side. A pairs with Z, B with Y, C with X, and so on until M and N swap in the middle.

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/text/atbash

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/text/atbash \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello"}'
{
  "text": "Hello"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "text.atbash",
  "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.

The calculator is free in the browser, deterministic, and identical in the API path. Inputs are validated before any arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE results when decimals are requested. Use the same JSON contract from spreadsheets, CMS hooks, automation,

How it works

The calculator is free in the browser, deterministic, and identical in the API path. Inputs are validated before any arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE results when decimals are requested. Use the same JSON contract from spreadsheets, CMS hooks, automation, or teaching demos.

Inputs, limits and rounding

Optional decimals use half-up once. No network calls, no random seeds, and no server state are required for a correct answer. Failed jobs are not billed. Landings target the stated search intent with precise keywords. Prefer explicit units and ranges over silent coercion of bad types. When Provide the required parameters as JSON numbers or strings as documented. Invalid types, missing required fields, or out-of-range values raise invalid_input with a clear message. Outputs echo key inputs so automation can log the full context of each call. The calculator is free in the browser, deterministic, and identical in the API path. Inputs are validated before any arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE results when decimals are requested. Use the same JSON contract from spreadsheets, CMS hooks, automation, or teaching demos.

When to use it

The calculator is free in the browser, deterministic, and identical in the API path. Inputs are validated before any arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE results when decimals are requested. Use the same JSON contract from spreadsheets, CMS hooks, automation, or teaching demos.

Quick check

Paste values in the free widget and compare with a spreadsheet.

Automation

Call the API with the same JSON contract from n8n, scripts, or CMS.

Teaching

Show the formula and pinned golden examples without proprietary software.

Is it free in the browser?

Yes. Tier A runs fully client-side with the same core as the API.

What happens on bad input?

The handler throws invalid_input; failed jobs are not billed.

Can I use it from the API?

Yes. Send the same JSON fields documented in params.

Who authors this?

Aspire (elon@forhosting.com), EN-only delivery; Nitro hydrates locales.

Read the full KIT documentation →