A faithful, working model of the Enigma cipher machine. Choose the rotors, ring settings, start positions and plugboard cables, then type on the keyboard or paste a message: the lampboard lights up, the rotors step exactly like the real machine, and you can follow each letter's path through the wiring.
Last updated:
Click the keys, or click here and type on your keyboard. Backspace removes the last letter.
Signal path and stepping
Advertisement
Advertisement
How to use the Enigma Machine Simulator
Pick a machine (Enigma I, M3 or M4) and a reflector.
Set the key: choose three different rotors (plus the Greek rotor on the M4), their ring settings and start positions, and type the plugboard pairs.
Type your message in the input box or press the machine's keys. The output and lampboard update instantly.
Follow the stepping: drag the Letter slider or click a row in the step log to see the rotor windows and the full signal path for that letter.
Decrypt: reset to the same start positions and enter the ciphertext, or press Use output as input. Enigma is reciprocal, so the original text comes back.
How the Enigma machine encrypts a letter
Each key press does two things. First the rotors step, then an electric current runs through the machine and lights one lamp:
Stepping. The right rotor always advances one place. If it was sitting on its turnover notch, it also advances the middle rotor. If the middle rotor was on its own notch, the middle and left rotors both advance (the double step). The M4's Greek rotor never moves.
Plugboard. Cables swap pairs of letters before and after the rotors, so A–V means A enters as V and V as A.
Rotors, right to left. Each rotor is a fixed scrambled wiring. Its effect is shifted by its current position minus its ring setting: out = wiring[(in + pos − ring) mod 26] − (pos − ring).
Reflector. The reflector (Umkehrwalze, UKW) pairs letters and sends the current back.
Rotors, left to right through the inverse wirings, then the plugboard again, to the lamp.
Because the path through the reflector is symmetrical, pressing the output letter with the same machine state lights the original letter. That is why one operation both encrypts and decrypts.
Rotor and reflector reference
Rotor
Wiring (A to Z)
Turnover notch
Used in
I
EKMFLGDQVZNTOWYHXUSPAIBRCJ
Q → R
I, M3, M4
II
AJDKSIRUXBLHWTMCQGZNPYFVOE
E → F
I, M3, M4
III
BDFHJLCPRTXVZNYEIWGAKMUSQO
V → W
I, M3, M4
IV
ESOVPZJAYQUIRHXLNFTGKDCMWB
J → K
I, M3, M4
V
VZBRGITYUPSDNHLXAWMJQOFECK
Z → A
I, M3, M4
VI
JPGVOUMFYQBENHZRDKASXLICTW
Z → A and M → N
M3, M4
VII
NZJHGRCXMYSWBOUFAIVLPEKQDT
Z → A and M → N
M3, M4
VIII
FKQHTLXOCBJSPDZRAMEWNIUYGV
Z → A and M → N
M3, M4
Beta
LEYJVCNIXWPBQMDRTAKZGFUHOS
none (fixed)
M4 only
Gamma
FSOKANUERHMBTIYCWLQPZXVGJD
none (fixed)
M4 only
UKW-B
YRUHQSLDPXNGOKMIEBFZCWVJAT
reflector
I, M3
UKW-C
FVPJIAOYEDRZXWGCTKUQSBNMHL
reflector
I, M3
UKW-B thin
ENKQAUYWJICOPBLMDXZVFTHRGS
reflector
M4
UKW-C thin
RDOBJNTKVEHMLFCWZAXGYIPSUQ
reflector
M4
Tips for using the simulator
To share a message, the receiver needs the full key: machine, reflector, rotor order, rings, plugboard and start positions. The Randomize settings button creates one; write it down before you change anything.
Historical operators sent text in five-letter groups without spaces. Choose Letters in groups of 5 for that look; numbers and punctuation are then dropped, as on the real keyboard, which had only 26 letters.
Watch the step log while typing a long message: the middle rotor moves roughly every 26 letters and the left rotor only every 650 or so, which shows why the right rotor did most of the work.
This is an educational model. Enigma was broken during the Second World War and must not be used to protect real secrets; use modern encryption for that.
Frequently asked questions
How do I decrypt an Enigma message?
Use exactly the same settings that encrypted it: the same machine, reflector, rotor order, ring settings, plugboard pairs and start positions. Enter the ciphertext and the plaintext appears. Because the Enigma is reciprocal, encryption and decryption are the same operation.
Why can a letter never encrypt to itself?
The reflector sends the current back through the rotors on a different path, and every reflector pair connects two different letters. So the lamp that lights can never be the key you pressed. Codebreakers exploited this weakness to rule out wrong guesses for known words (cribs).
What is the double step of the middle rotor?
When the middle rotor reaches its own turnover notch, it steps again on the next key press and takes the left rotor with it. The middle rotor therefore moves on two consecutive key presses, for example ADU, ADV, AEW, BFX with rotors I, II, III. This simulator reproduces it, and the step log marks every double step.
What is the difference between ring setting and start position?
The start position is the letter visible in the rotor window when you begin. The ring setting (Ringstellung) rotates the internal wiring relative to the letter ring and notch. Both change the output, and the operator needed both from the key sheet.
How can I check that the simulator is correct?
A widely used test: Enigma I, reflector B, rotors I II III, rings 01 01 01, start AAA and no plugboard cables. Typing AAAAA gives BDZGO. The M4 with Greek rotor Beta at position A, ring 01 and the thin B reflector behaves exactly like a three-rotor machine with reflector B, which is how it stayed compatible.
What is the difference between Enigma I, M3 and M4?
The Enigma I was used by the army and air force with rotors I to V. The navy M3 added rotors VI, VII and VIII, which have two turnover notches. The M4, introduced for U-boats in 1942, fitted a thin reflector and a fourth, non-moving Greek rotor (Beta or Gamma) beside the three stepping rotors.
Is my message sent anywhere?
No. The whole machine runs in JavaScript in your browser. Your text and settings never leave your device; the last settings are only remembered in your browser's local storage.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.