Tap Code Encoder/Decoder – Online POW Communication Tool
Convert text to tap code (5x5 grid) and back. Learn the historical POW communication method.
UD5 Toolkit
The classic POW communication cipher – encode and decode messages using the 5×5 Polybius square tap system.
Used by prisoners of war to communicate through walls| # | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| 1 | A1,1 | B1,2 | C/K1,3 | D1,4 | E1,5 |
| 2 | F2,1 | G2,2 | H2,3 | I2,4 | J2,5 |
| 3 | L3,1 | M3,2 | N3,3 | O3,4 | P3,5 |
| 4 | Q4,1 | R4,2 | S4,3 | T4,4 | U4,5 |
| 5 | V5,1 | W5,2 | X5,3 | Y5,4 | Z5,5 |
. . (row1,col1)
H = .. ... (row2,col3)
Z = ..... ..... (row5,col5)
SOS = .... ... / ... ... / .... ...
| C & K share cell (1,3)
Tap Code is a simple cipher communication method that uses a 5×5 grid (Polybius square) to encode letters. Each letter is represented by two numbers: its row and column in the grid. To transmit a letter, you tap the row number, pause briefly, then tap the column number. For example, A (row 1, column 1) = . . (one tap, pause, one tap). H (row 2, column 3) = .. ... (two taps, pause, three taps).
The standard Tap Code uses a 5×5 grid which has only 25 cells, but the English alphabet has 26 letters. To fit all letters, C and K share the cell at position (1,3). When encoding, both C and K produce the same tap pattern (. ...). When decoding, context usually determines which letter is intended. Some variations omit J instead, but the C/K combination is the most widely accepted standard.
During the Vietnam War, American prisoners of war famously used Tap Code to communicate between cells by tapping on walls or pipes. Captain Carlyle "Smitty" Harris is credited with introducing the system after recalling it from a survival course. It became a lifeline for isolated prisoners, allowing them to share information, boost morale, and coordinate resistance. The code was simple enough to remember under duress and could be transmitted through any solid surface.
While both use patterns of taps, they are fundamentally different systems. Morse Code uses short and long signals (dots and dashes) with variable-length patterns for each letter. Tap Code always uses exactly two groups of taps per letter (row then column), each group containing 1–5 taps. Tap Code is generally easier to learn quickly since it relies on a simple grid reference rather than memorizing unique patterns for each letter. This made it ideal for distressed POWs who needed a reliable communication method.
Here are some recognizable patterns:
.... ... / ... ... / .... ... (S=4,3; O=3,4; S=4,3).. ... / . ..... / ... .. / ... .. / ... ...... ... / . ... (O=3,4; K=1,3 → C/K cell). . (simplest pattern: 1 tap, pause, 1 tap)..... ..... (longest pattern: 5 taps, pause, 5 taps)Traditional Tap Code only encodes the 26 letters A–Z using the 5×5 grid. Numbers, punctuation marks, and special characters are not part of the original system. In practice, POWs would spell out numbers as words (e.g., "TWO" instead of "2") or use contextual abbreviations. Some extended versions add a 6×6 grid to include digits, but this deviates from the classic POW Tap Code standard. Our tool focuses on the classic 5×5 system and will ignore or flag non-letter characters during encoding.
Our decoder is flexible and accepts multiple formats:
.. ... / . ..... (dots represent taps, spaces separate row from column, slashes separate letters)2,3 1,5 or (2,3)(1,5) (comma-separated row,col pairs)/, |, newlines, or spaces between letter codesConvert text to tap code (5x5 grid) and back. Learn the historical POW communication method.
Paste an SVG and get an optimized, URL‑encoded data URI for use in CSS backgrounds. Reduces file size and escapes characters.
Optimize an SVG and convert it into a URL‑encoded data URI ready for CSS backgrounds. Strip unnecessary attributes. All local.
Apply a classic Caesar shift cipher with any key. Encrypt or decrypt text instantly. Brute force option included.
Encode any text, including emojis and foreign scripts, into a Base64 string. Perfect for data URLs. Local.
Paste an SVG and get a ready‑to‑use data URI for CSS backgrounds or img tags. Optimized with URL encoding. All local.
Encode letters to their position in the alphabet (A=1, B=2...) and decode back. A classic puzzle tool. No data leaves your device.
Encode text or numbers into base62 (0‑9a‑zA‑Z) and decode back. Ideal for shortening integer IDs and URLs. Local.
Encrypt text into the classic pigpen symbols and decode them back. Fun for treasure hunts and mystery games.
Convert any text string to a sequence of hexadecimal pairs. Useful for programming and data representation. All conversion happens locally in your browser.
Encrypt and decrypt messages using the classic Caesar cipher with configurable shift key. Fun for puzzles and basic cryptography lessons. Entirely browser-based.
Easily apply ROT13 cipher to obfuscate or reveal text. A classic letter substitution cipher that works bidirectionally. Purely client-side processing.
Translate text to Morse code and decode Morse signals back to text. Sound playback supported. Learn and experiment with Morse code directly in browser.
Encode or decode text using Base32 scheme. Ideal for legacy systems and data obfuscation. Works completely offline in your browser for maximum security.
Encode special characters to HTML entities or decode them back to normal text. Perfect for web developers to sanitize or reverse HTML escaping. All processing is client-side.
Encode special characters into URL-safe format or decode percent-encoded strings back to plain text. Fast and reliable, runs locally in your browser.
Convert text and files to Base64 or decode Base64 back to original content. Processed locally with no server upload, ensuring complete data security.