StringMash.com

Cipher identifier

Paste a message you cannot read. We try every conversion we know and rank what comes out.

Conversion
24 characters
Updates as you type
Decoded

What is this?

Paste something encoded and we will work out what it is.

Type or paste something above, then press the button.

    Using the identifier

    Paste whatever you can't read into the box above. The panel below scores it against every conversion we know, decodes the ones that look plausible, and ranks them by how much the result reads like English. Press Use on a row to load that conversion into the tool.

    If nothing looks right, trim the message down to the unreadable part. Quotation marks and line numbers that came along with a paste will throw off checks that depend on the alphabet and the length.

    How the identifier works

    Every conversion here can report how much a piece of text looks like its own output. Base64 checks the alphabet, the length, and whether the bytes decode to valid text. Binary looks for nothing but 0s and 1s in groups of eight. Morse looks for dots and dashes. These tests are cheap enough to run on every keystroke.

    Whatever passes gets decoded, and the result is scored against English: letter frequencies, common letter pairs, and a list of frequent words. Score well on both halves and we're confident. Pass the first test but fail the second and the message has probably been encoded twice. Decode the outer layer, paste the result back, run it again.

    A thousand-year-old trick

    The scoring half of this page is frequency analysis, first written down by al-Kindi in 9th-century Baghdad. Count how often each letter appears, compare that against how often it appears in the language, and a substitution cipher gives itself up.

    What's changed is speed. Al-Kindi counted by hand. This page runs 25 shifts, a mirror and half a dozen encodings between one keystroke and the next, and the arithmetic is the same arithmetic.

    When it says it isn't sure

    A confident wrong answer costs you more time than an honest shrug, so there's a threshold. Below it the panel says it couldn't tell.

    Three things usually cause that. The message is plain text in a language other than English, so the English scoring finds nothing to like. It uses a cipher with a key we can't guess, like Vigenère. Or it's several layers deep and needs unwrapping one at a time.

    Where to go next

    Once you know what you're holding, the individual pages do more: ROT13 and the shifts, the Atbash mirror, Base64, binary, character codes, Morse.

    If the answer turns out to be an alphabet rather than a code, runes and Ogham read those scripts back into English.

    Questions

    What can it recognise?

    Base64, hexadecimal, binary, Morse code, and shifted alphabets like ROT13, Caesar and Atbash. Every conversion we add brings its own signal, so the list grows.

    Why does it show several answers?

    Short messages are genuinely ambiguous. A run of letters and digits can be valid Base64 and valid hex at the same time, so we rank them and show the decoded text.

    It found nothing. What now?

    Check whether the message is one layer or several, trim anything that wasn't part of the original, and consider that it may be plain text in another language.

    Can it break real encryption?

    No, and nothing on this site can. These are puzzle ciphers and text encodings. Modern encryption without the key is out of reach.