Tap code

From the Buttcrack Cipher Wiki — the free field guide to classical ciphers

Tap code — The Polybius square struck out as taps: row, pause, column.

Row and column of a 5x5 grid struck as groups of taps (C=K, I=J).

A worked example§

Encrypting a sample with the cipher itself, at build time:

MEET ME BY THE OLD CLOCK TOWER AT DAWN

No key — the transformation is fixed.

produces the ciphertext

... ..  . .....  . .....  .... ....  ... ..  . .....  . ..  ..... ....  .... ....  .. ...  . .....  ... ....  ... .  . ....  . ...  ... .  ... ....  . ...  . ...  .... ....  ... ....  ..... ..  . .....  .... ..  . .  .... ....  . ....  ....

This example is generated by running the cipher when the page is built, and the round trip is checked, so it always matches what the solver does.

How it is broken§

Recognise the two runs per letter. The arithmetic gives it away — every run is between one and five.

History and context§

Taught by Captain Carlyle Harris to fellow prisoners in the Hanoi Hilton in 1965, where it carried messages through cell walls for years. C is sent as K to fit 25 cells.

See also§

Morse code · Bacon cipher · Bacon (letter case) · A1Z26 (numbered alphabet) · Polybius square · NATO phonetic alphabet

Browse every cipher in the Codes and alphabets family, read the history of codebreaking, or return to the wiki main page.

Frequently asked questions§

How is the Tap code broken?

Recognise the two runs per letter. The arithmetic gives it away — every run is between one and five.

What key does the Tap code use?

none. There are 1 possible keys.

How much ciphertext do I need?

At least 6 characters for this solver to attempt it; short messages can be readable and still not be proof.

Can I break a Tap code on this page?

Not with the browser build, which targets the common puzzle families. The desktop version searches it: see the Windows app page.

The facts in this article are generated from buttcrack's cipher registry when the site is built, so they describe the implementation you can run on this page. Registry-generated content is checked against the code; the history is editorial.

Try it live — break a real puzzle

Private by design

Drop in a puzzle. Leave with an answer.

Runs on this device
Try a sample
What this browser solver can—and cannot—do

It tries: Caesar, Atbash, ROT13, affine, Trithemius, rail fence, single-byte XOR, periodic Vigenère-family ciphers, autokey, selected encoding layers (such as Base64, hex, binary, decimal ASCII, Morse, and reverse), and—only with 60+ A–Z letters—statistical substitution.

It does not: prove a decryption, cover every classical cipher, or break modern encryption such as AES or RSA. Its ranking model is tuned for English, so a high score is a lead to verify with the method, key, and source context—not a guarantee.

Short text, non-English plaintext, non-Latin or symbol alphabets, missing keys, and unsupported formats can all leave no high-confidence answer. When that happens, the result includes input-specific observations and suggested next checks; those observations are not a claim to know the exact cause.

No account. No upload. No stored text. The complete solver runs in your browser.

This tool is free and has no account, no upload, no tracking of your text

Everything runs in your browser. If it saved you time, keeping it alive costs nothing but a click.