Enigma

Enigma: Encipher/decipher with the WW2 Enigma machine.

Free · No sign-up required

Text input

Your result is ready to copy or download after running.

Tool options
Remove non-alphabetic characters and group the output.

About Enigma

Encipher/decipher with the WW2 Enigma machine. Enigma was used by the German military, among others, around the WW2 era as a portable cipher machine to protect sensitive military, diplomatic and commercial communications. The standard set of German military rotors and reflectors are provided. To configure the plugboard, enter a string of connected pairs of letters, e.g. AB CD EF connects A to B, C to D, and E to F. This is also used to create your own reflectors. 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. This is deliberately fairly permissive with rotor placements etc compared to a real Enigma (on which, for example, a four-rotor Enigma uses only the thin reflectors and the beta or gamma rotor in the 4th slot). More detailed descriptions of the Enigma, Typex and Bombe operations can be found here.

Input: text. Output: text.

Format reference: Enigma background and specification

Example

Use “Try example” to load this public sample and its settings, then run it.

Settings used in this example
ParameterExample valueInput and choices
Model"3-rotor"3-rotor, 4-rotor
Left-most (4th) rotor""Beta, Gamma. Escape sequences such as \n, \r and \t are supported
Left-most rotor ring settingAA, 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
Left-most rotor initial valueAA, 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
Left-hand rotor"EKMFLGDQVZNTOWYHXUSPAIBRCJ<R"I, II, III, IV, V, VI, VII, VIII. Escape sequences such as \n, \r and \t are supported
Left-hand rotor ring settingAA, 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
Left-hand rotor initial valueAA, 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
Middle rotor"AJDKSIRUXBLHWTMCQGZNPYFVOE<F"I, II, III, IV, V, VI, VII, VIII. Escape sequences such as \n, \r and \t are supported
Middle rotor ring settingAA, 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
Middle rotor initial valueAA, 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
Right-hand rotor"BDFHJLCPRTXVZNYEIWGAKMUSQO<W"I, II, III, IV, V, VI, VII, VIII. Escape sequences such as \n, \r and \t are supported
Right-hand rotor ring settingAA, 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
Right-hand rotor initial valueZA, 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"AY BR CU DH EQ FS GL IP JX KN MO TZ VW"B, C, B Thin, C Thin. Escape sequences such as \n, \r and \t are supported
Plugboard""Text
Strict outputtrueRemove non-alphabetic characters and group the output.

Input

G

Result

P

Parameters

ParameterDefault valueInput and choices
Model"3-rotor"3-rotor, 4-rotor
Left-most (4th) rotor"LEYJVCNIXWPBQMDRTAKZGFUHOS"Beta, Gamma. Escape sequences such as \n, \r and \t are supported
Left-most rotor ring settingAA, 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
Left-most rotor initial valueAA, 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
Left-hand rotor"EKMFLGDQVZNTOWYHXUSPAIBRCJ<R"I, II, III, IV, V, VI, VII, VIII. Escape sequences such as \n, \r and \t are supported
Left-hand rotor ring settingAA, 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
Left-hand rotor initial valueAA, 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
Middle rotor"AJDKSIRUXBLHWTMCQGZNPYFVOE<F"I, II, III, IV, V, VI, VII, VIII. Escape sequences such as \n, \r and \t are supported
Middle rotor ring settingAA, 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
Middle rotor initial valueAA, 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
Right-hand rotor"BDFHJLCPRTXVZNYEIWGAKMUSQO<W"I, II, III, IV, V, VI, VII, VIII. Escape sequences such as \n, \r and \t are supported
Right-hand rotor ring settingAA, 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
Right-hand rotor initial valueAA, 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"AY BR CU DH EQ FS GL IP JX KN MO TZ VW"B, C, B Thin, C Thin. Escape sequences such as \n, \r and \t are supported
Plugboard""Text
Strict outputtrueRemove 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

  1. Paste your input or open a local file.
  2. Adjust tool options if needed, then choose Run tool.
  3. 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.

Related tools

Browse encryption / encoding tools