About Typex
Encipher/decipher with the WW2 Typex machine. Typex was originally built by the British Royal Air Force prior to WW2, and is based on the Enigma machine with some improvements made, including using five rotors with more stepping points and interchangeable wiring cores. It was used across the British and Commonwealth militaries. A number of later variants were produced; here we simulate a WW2 era Mark 22 Typex with plugboards for the reflector and input. Typex rotors were changed regularly and none are public: a random example set are provided. To configure the reflector plugboard, enter a string of connected pairs of letters in the reflector box, e.g. AB CD EF connects A to B, C to D, and E to F (you'll need to connect every letter). There is also an input plugboard: unlike Enigma's plugboard, it's not restricted to pairs, so it's entered like a rotor (without stepping). To create your own rotor, enter the letters that the rotor maps A to Z to, in order, optionally followed by < then a list of stepping points. More detailed descriptions of the Enigma, Typex and Bombe operations can be found here.
Input: text. Output: text.
Format reference: Typex background and specification
Example
Use “Try example” to load this public sample and its settings, then run it.
Settings used in this example
| Parameter | Example value | Input and choices |
|---|---|---|
| 1st (left-hand) rotor | "MCYLPQUVRXGSAOWNBJEZDTFKHI<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 1st rotor reversed | false | On or off |
| 1st rotor ring setting | B | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 1st rotor initial value | C | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 2nd rotor | "KHWENRCBISXJQGOFMAPVYZDLTU<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 2nd rotor reversed | false | On or off |
| 2nd rotor ring setting | D | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 2nd rotor initial value | E | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 3rd (middle) rotor | "BYPDZMGIKQCUSATREHOJNLFWXV<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 3rd rotor reversed | false | On or off |
| 3rd rotor ring setting | F | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 3rd rotor initial value | G | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 4th (static) rotor | "ZANJCGDLVHIXOBRPMSWQUKFYET<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 4th rotor reversed | true | On or off |
| 4th rotor ring setting | H | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 4th rotor initial value | I | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 5th (right-hand, static) rotor | "QXBGUTOVFCZPJIHSWERYNDAMLK<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 5th rotor reversed | true | On or off |
| 5th rotor ring setting | J | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 5th rotor initial value | K | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| Reflector | "AN BC FG IE KD LU MH OR TS VZ WQ XJ YP" | Example. Escape sequences such as \n, \r and \t are supported |
| Plugboard | "EHZTLCVKFRPQSYANBUIWOJXGMD" | Text |
| Typex keyboard emulation | None | None, Encrypt, Decrypt |
| Strict output | true | Remove non-alphabetic characters and group the output. |
Sample keys and passwords are public. Never use them to protect real data.
Input
hello world, this is a test message.
Result
VIXQQ VHLPN UCVLA QDZNZ EAYAT HWC
Parameters
| Parameter | Default value | Input and choices |
|---|---|---|
| 1st (left-hand) rotor | "MCYLPQUVRXGSAOWNBJEZDTFKHI<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 1st rotor reversed | false | On or off |
| 1st rotor ring setting | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 1st rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 2nd rotor | "KHWENRCBISXJQGOFMAPVYZDLTU<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 2nd rotor reversed | false | On or off |
| 2nd rotor ring setting | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 2nd rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 3rd (middle) rotor | "BYPDZMGIKQCUSATREHOJNLFWXV<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 3rd rotor reversed | false | On or off |
| 3rd rotor ring setting | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 3rd rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 4th (static) rotor | "ZANJCGDLVHIXOBRPMSWQUKFYET<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 4th rotor reversed | false | On or off |
| 4th rotor ring setting | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 4th rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 5th (right-hand, static) rotor | "QXBGUTOVFCZPJIHSWERYNDAMLK<BFHNQUW" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8. Escape sequences such as \n, \r and \t are supported |
| 5th rotor reversed | false | On or off |
| 5th rotor ring setting | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 5th rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| Reflector | "AN BC FG IE KD LU MH OR TS VZ WQ XJ YP" | Example. Escape sequences such as \n, \r and \t are supported |
| Plugboard | "" | Text |
| Typex keyboard emulation | None | None, Encrypt, Decrypt |
| Strict output | true | Remove non-alphabetic characters and group the output. |
Before interpreting the result
Use the exact key encoding, mode, padding and IV expected by the source system. Historical ciphers are useful for learning and analysis. Encoding alone provides no confidentiality.
How to use this page
- Paste your input or open a local file.
- Adjust tool options if needed, then choose Run tool.
- Copy the result or download the original output bytes.
Inputs and results are not added to the public catalogue or saved in the URL. Processing happens in your browser; HTTP Request and DNS over HTTPS send the requests you explicitly run. Files up to 128 MiB can be opened; decompression and image tools may have smaller processing limits. Large results have a shortened preview. Text and HTML downloads use UTF-8; binary downloads preserve output bytes. Pasted text follows browser newline handling; open a file when exact input bytes matter.