Methodology
Which standards CipherPad follows
Every translator here makes choices: which variant of a cipher to implement, what to do with a character that has no equivalent, whether to preserve case. Most tools make those choices silently. This page writes them down.
Last updated: 14 July 2026
Why this page exists
If you decode a message here and get a different answer from another site, one of two things has happened: one implementation is wrong, or the two implement different variants. The second is far more common, and it is impossible to tell which without knowing what each tool actually does. So this page states, for each translator, which standard or variant is implemented and how the awkward cases are handled.
The descriptions below were read off the implementation, not written from intention. Where something is a deliberate simplification, it says so. Where a variant is not supported, it says that too, rather than leaving you to discover it from a wrong answer.
Standards and edge cases by translator
| Translator | What is implemented | Edge cases and what is not supported |
|---|---|---|
| Morse code | International Morse code: letters A to Z, digits 0 to 9 and common punctuation. Letters are separated by a space and words by a forward slash. | Characters with no Morse equivalent are dropped silently rather than passed through, so the output is always valid Morse. Case is ignored: Morse has no capitals. Accented letters are not mapped and are therefore dropped. |
| Binary | Binary of the character's Unicode code point, padded to at least eight bits, with one group per character separated by a space. For ordinary English text this is exactly 8-bit ASCII. | Characters above code point 255, such as an emoji or an accented letter outside Latin-1, produce a group longer than eight bits rather than being dropped. When decoding, each whitespace-separated group is read as a binary number whatever its length, so a 4-bit group decodes to a low control character instead of being rejected. Check your grouping if the output looks like nothing at all. |
| Braille | Unicode braille patterns (U+2800 to U+28FF), Grade 1 (uncontracted) only. Digits are written with the number sign followed by the letters A to J, which is the standard braille convention. | Grade 2 contracted braille is not implemented. Grade 2 replaces common words and letter groups with single cells and is a different system, so a Grade 1 tool that claimed to do Grade 2 would produce wrong output. Characters with no braille cell are passed through unchanged rather than dropped. |
| Base64 | Standard Base64 as used in email and on the web, over the UTF-8 bytes of the input, with = padding. | URL-safe Base64, which uses - and _ in place of + and /, is not produced. Input that is not valid Base64 returns empty rather than a partial decode. |
| Caesar, ROT13, Atbash | Substitution over the 26-letter English alphabet. Letter case is preserved. ROT13 is a Caesar cipher fixed at shift 13; Atbash maps A to Z, B to Y and so on. | Digits, punctuation, spaces and any non-Latin character pass through untouched. This is the usual convention and it is what makes the ciphers readable, but it does leak the shape of the message. |
| Vigenere | Classical Vigenere over the 26-letter alphabet. The key repeats across the message, and only letters advance the key position. | Non-letters in the message pass through and do not consume a key letter. Non-letters in the key are ignored. An empty key returns the message unchanged rather than throwing. |
| Polybius square and tap code | The traditional 5x5 grid holding 25 letters, with I and J sharing one cell. Coordinates are given as row then column. | The 6x6 variant that adds the digits 0 to 9 is not implemented. Because I and J share a cell, decoding always returns I: that loss is inherent to the 5x5 grid, not a defect here. |
| Playfair | Classical Playfair on a 5x5 key square built from the keyword, with I and J merged. X is inserted between doubled letters and appended to pad an odd final letter, and Z is used instead where the letter being separated is itself an X. | The variant that merges Q instead of J is not implemented. Decoded text keeps its padding letters, since removing them automatically would sometimes delete a real one. |
| Bacon cipher | The 26-letter variant, in which every letter from A to Z has its own five-symbol code (A is AAAAA through Z is BBAAB), written as groups of five A and B symbols. | Bacon's original 24-letter alphabet, where I and J share a code and U and V share a code, is not implemented. Codes from a 24-letter table will therefore disagree with this tool from the letter I onwards, which is the single most common source of confusion with this cipher. The steganographic layer, where the A and B pattern is hidden in two typefaces, is out of scope for a plain-text tool. |
| Affine | y = (ax + b) mod 26, where a must be coprime with 26. Only the 12 valid values of a are offered, which is a mathematical requirement and not a preference. | Values of a that share a factor with 26 are not selectable, because the cipher would not be reversible: two letters would encipher to the same result. |
| NATO phonetic alphabet | The NATO and ICAO spelling alphabet, using the official spellings Alfa and Juliett rather than the everyday Alpha and Juliet. Digits are spelled out as Zero through Nine. | The aviation pronunciation forms, such as niner for nine and tree for three, are not used: the plain English number words are. Characters with no code word are dropped. |
Rules that apply everywhere
- Nothing is uploaded. Every translator runs in your browser. See the privacy policy for how to verify that in the Network tab.
- Unsupported characters are handled predictably, not silently corrected. Each translator either drops a character it cannot map or passes it through unchanged, and the table above says which. Neither behaviour is universally right, so the rule is to be consistent and to document it.
- Nothing here is secure. Every scheme on this site is an encoding or a broken historical cipher. Each translator carries a permanent notice explaining which of the two it is. For real protection, use vetted modern cryptography such as the Web Crypto API.
- Encoding and encryption are kept apart. Morse, binary, braille, Base64, NATO and A1Z26 are encodings: public, keyless and concealing nothing. Only the schemes grouped as ciphers attempt concealment, and all of them fail at it.
When this changes
If a translator's behaviour changes, this page and the changelog are updated in the same change. If you find a case where the behaviour here does not match the table above, that is a bug worth reporting through the contact page.