Enigma Machine Simulator (M3)
The WWII cipher machine, with rotors, rings, and plugboard.
Free · no sign-up · runs locally·
About this tool
The Enigma machine encrypted German military communications in World War II, and breaking it at Bletchley Park shortened the war. This simulator faithfully reproduces the 3-rotor Wehrmacht (M3) Enigma: choose from rotors I–V, set the ring settings (Ringstellung) and starting positions, pick reflector B or C, and wire up plugboard (Steckerbrett) pairs.
The rotor stepping, including the famous double-step anomaly, matches the real machine. Because Enigma is reciprocal, the same settings both encrypt and decrypt — set the machine to a message's starting position and type the ciphertext to recover the plaintext. Everything runs in your browser.
Like everything on encrypt.tools, this runs entirely in your browser — nothing you enter is transmitted or stored.
Frequently asked questions about Enigma Machine
How do I decrypt an Enigma message?+
Set the machine to the exact settings used to encrypt it — same rotors, ring settings, plugboard, and starting positions — then type the ciphertext. Because Enigma is reciprocal, typing ciphertext with the original settings produces the plaintext.
What was Enigma's fatal weakness?+
Enigma never encrypts a letter to itself, and its reciprocal wiring plus predictable message formatting gave codebreakers 'cribs' — guessed plaintext. Combined with captured key sheets and Alan Turing's bombe machines, this let Bletchley Park break it.
What is the plugboard for?+
The plugboard (Steckerbrett) swaps pairs of letters before and after the rotors, massively increasing the number of possible settings. Enter pairs like 'AB CD EF' to connect A↔B, C↔D, and E↔F.
Related tools
Caesar Cipher
Shift cipher with instant all-25 bruteforce
VIGENÈRE · POLYVigenère Cipher
The polyalphabetic cipher that resisted breaking for 300 years
ATBASH · AFFINEAtbash & Affine
Mirror-alphabet and modular substitution ciphers
RAIL FENCE · ZIGZAGRail Fence Cipher
Zigzag transposition across configurable rails