Every ladder diagram symbol in one chart — contacts, coils, one-shots, timers, counters, comparison, math and program-flow — with Allen-Bradley mnemonics, IEC 61131-3 names and plain-English meanings. Then practise each one live in your browser, no install or PLC licence needed.
Ladder logic symbols are the graphical instructions of ladder diagram (LD) programming — contacts, coils and instruction blocks drawn between two vertical power rails. Each horizontal rung is one logic statement: input conditions on the left, the result on the right, evaluated as if electrical power flowed from the left rail to the right. The notation was designed to mirror relay wiring schematics, which is why electricians could read the first PLC programs without retraining — and why the same shapes still appear in every PLC platform today.
This page is the complete chart: every symbol, its Allen-Bradley mnemonic, its IEC 61131-3 name, what it means and how it is used — followed by a worked rung-reading example and a printable cheat sheet.
The five core symbols at a glance. The full chart with meanings follows below.
Contact symbols and meanings
Contacts are the input conditions on the left side of a rung. Wired in series they form an AND; stacked in parallel branches they form an OR. The two-bar shape is universal — only the names change between dialects.
Passes power when its bit is FALSE (0) — the diagonal slash inverts the logic. The rung breaks the moment the addressed bit turns ON.
A Stop button is programmed as an XIO so pressing it breaks the rung and drops the motor.
Coil (output) symbols and meanings
Coils sit at the right end of a rung and write the result of the logic — a real output like a motor contactor, or an internal memory bit that other rungs read back as a contact.
Resets a latched bit back to FALSE when its rung goes true. Always programmed as the partner of an OTL on the same address.
The Acknowledge button drives an OTU that unlatches the alarm-horn bit set by the OTL.
Edge-detection (one-shot) symbols and meanings
Edge symbols fire for exactly one program scan when a signal transitions, instead of staying true for as long as a bit is held. Use them whenever an action must happen once per event — not once per scan.
Passes power for a single scan on a false-to-true transition of the conditions before it, then blocks until the input goes low and high again.
An ONS after a photo-eye contact increments a parts counter once per box, not once per scan.
One-shot rising
OSR — One Shot Rising
IEC: R_TRIG
Output-style one-shot: sets its output bit for one scan when the rung input goes from OFF to ON. Same behavior as ONS, packaged as an instruction block.
An OSR captures the exact scan an operator presses Cycle Start to stamp a timestamp register.
One-shot falling
OSF — One Shot Falling
IEC: F_TRIG
The falling-edge twin: sets its output bit for one scan when the rung input goes from ON to OFF.
An OSF fires when a conveyor sensor clears, triggering the "part exited" logic exactly once.
Timer symbols and meanings
Timer blocks measure elapsed time against a preset and expose status bits (EN enabled, TT timing, DN done) that other rungs read as contacts. Allen-Bradley names them TON / TOF / RTO; IEC 61131-3 uses TON / TOF / TONR.
Accumulates run-time across multiple TRUE periods and keeps its accumulator when the rung goes false. Only a RES (reset) instruction clears it.
An RTO totals motor run-hours across shifts to trigger maintenance at 500 h.
Counter symbols and meanings
Counter blocks tally false-to-true transitions of their rung against a preset. Like timers, they expose status bits (CU/CD counting, DN done) that gate other rungs.
The IEC combined counter: separate count-up and count-down inputs drive a single accumulator — one block instead of a paired CTU/CTD.
A CTUD tracks live occupancy of a car park: entry gate counts up, exit gate counts down.
Comparison & math symbols and meanings
Past on/off logic, instruction blocks work on numbers. Comparison blocks sit in the power path and gate the rung like a contact; math and move blocks act at the end of the rung like a coil. When the two sides of a compare are different data types, convert first — see the DINT-to-REAL conversion reference.
Symbol
Name (AB / IEC)
What it means
Usage example
Equal comparison
EQU — Equal
IEC: EQ ( = )
True while Source A equals Source B, passing power to the rest of the rung. Siblings NEQ, LEQ and GEQ share the same block shape.
EQU checks the recipe number equals 3 before enabling the "Recipe 3" fill sequence.
Greater-than comparison
GRT — Greater Than
IEC: GT ( > )
True while Source A is greater than Source B — the go-to block for high-level and over-range checks.
GRT compares tank level against 90% to energise the high-level warning beacon.
Less-than comparison
LES — Less Than
IEC: LT ( < )
True while Source A is less than Source B — the mirror of GRT for low-level and under-range checks.
LES watches line speed below a minimum to flag a slipping drive belt.
Copies a source value into a destination tag every scan the rung is true — the workhorse for loading presets, clearing registers and shuffling data.
MOV loads 4000 into a timer preset when the operator selects the "long cycle" mode.
Add (math block)
ADD — Add
IEC: ADD
Stores Source A + Source B in a destination when the rung is true. SUB, MUL and DIV share the shape — swap the label, keep the wiring.
ADD totals the counts from two infeed lanes into a single production register.
Program-flow symbols and meanings
Program-flow symbols change which rungs execute: jumping to subroutines, marking jump targets, and fencing whole zones of logic so they can be disabled as a block.
When the rung is true, scanning jumps to the named routine, executes it, and returns to the rung after the JSR. The backbone of organized, modular programs.
The main routine calls JSR "ConveyorControl" every scan so conveyor logic lives in its own file.
Label
LBL — Label
IEC: Jump label
Marks the landing point for a JMP (jump) instruction. Scanning resumes at the LBL rung, skipping everything between the JMP and the label.
A JMP over non-critical display logic lands on LBL 20 to shorten the scan during a fault.
Return
RET — Return
IEC: RET
Ends a subroutine and hands execution back to the rung after the JSR that called it. Optional in many platforms — the end of the routine returns implicitly.
A conditional RET exits the fault-handler routine early once the fault is cleared.
Used in pairs to fence a zone of rungs. When the first MCR rung is false, every non-retentive output inside the zone de-energises; latched bits keep their state.
An MCR zone wraps all auto-mode rungs so switching to manual disables them in one move.
Structure symbols: rails, rungs and branches
The scaffolding every other symbol hangs on. Ladder diagrams inherit their look from relay wiring schematics — two vertical power rails with numbered horizontal rungs strung between them.
Symbol
Name (AB / IEC)
What it means
Usage example
Power rails
Left / right rail
IEC: Power rails (L / N heritage)
The two vertical lines framing the diagram. Logical "power" flows from the left rail through each rung's conditions toward the right rail. Rungs evaluate top to bottom, left to right, every scan.
Every rung you write is implicitly connected to both rails — the editor draws them for you.
Branch (parallel path)
Branch
IEC: Parallel connection (OR)
The rung wire splits at a junction into parallel paths that rejoin further right. Power passes if ANY path is true — the graphical OR, and the shape behind every seal-in circuit.
A seal-in contact sits on a branch in parallel with the Start button, holding the rung after release.
Allen-Bradley vs IEC 61131-3 symbol names
The drawn shapes are nearly universal — the names differ by dialect. Allen-Bradley uses three-letter mnemonics (XIC, XIO, OTE); IEC 61131-3 and Siemens lean on the drawn symbol itself. The key mappings: XIC = -[ ]- = normally-open, and XIO = -[/]- = normally-closed — no matter what the toolbar calls them. When you hit an unfamiliar name, map it back to the drawn symbol: identify the shape (contact, coil or block), check for the slash, read the tag, then trace power flow left to right. The drawn symbol never lies; only the label changes between platforms.
How to read a rung: the motor seal-in, symbol by symbol
Put the symbols together and you can read any rung. Here is the classic motor start/stop with a seal-in — the numbered callouts walk left to right along the power path.
The motor seal-in rung with numbered callouts — the shape behind almost every start/stop circuit in industry.
1Start — normally-open contact (XIC). Closed only while the Start button is pressed. On its own it would drop the motor the moment the operator lets go.
2Motor — seal-in contact on a branch. A normally-open contact addressed to the Motor output itself, in parallel with Start (an OR). Once the motor is running, this contact is closed — so power keeps flowing after Start is released. This is the seal-in.
3Stop — normally-closed contact (XIO). Passes power until the Stop button is pressed. Pressing Stop breaks the only path to the coil, the coil de-energises, the seal-in contact opens, and the rung stays off — a safe, self-resetting stop.
4Motor — output coil (OTE). Energises while a complete path of power reaches it, and drives both the real motor contactor and the seal-in contact in branch 2.
Two rules cover everything you just read: contacts in series are AND, branches in parallel are OR. Every rung in every ladder program — however long — reduces to those two rules plus the symbols in the chart above.
All 25 symbols on one page — Allen-Bradley mnemonic, IEC name and meaning. Press Ctrl/Cmd + P and choose Save as PDF to keep an offline copy.
Symbol
Allen-Bradley
IEC 61131-3
Meaning
XIC — Examine If Closed
NO contact -| |-
Passes power when its bit is TRUE (1). The default input element: the rung sees "closed" whenever the addressed input, sensor or internal bit is ON.
XIO — Examine If Open
NC contact -|/|-
Passes power when its bit is FALSE (0) — the diagonal slash inverts the logic. The rung breaks the moment the addressed bit turns ON.
OTE — Output Energise
Coil -( )-
Follows the rung exactly: ON while a complete path of power reaches it, OFF the scan the rung goes false. The standard, non-retentive output.
OTL — Output Latch
Set coil -(S)-
Sets its bit TRUE and holds it TRUE even after the rung goes false. The bit stays latched until an unlatch instruction on the same address clears it.
OTU — Output Unlatch
Reset coil -(R)-
Resets a latched bit back to FALSE when its rung goes true. Always programmed as the partner of an OTL on the same address.
ONS — One Shot
R_TRIG (rising edge)
Passes power for a single scan on a false-to-true transition of the conditions before it, then blocks until the input goes low and high again.
OSR — One Shot Rising
R_TRIG
Output-style one-shot: sets its output bit for one scan when the rung input goes from OFF to ON. Same behavior as ONS, packaged as an instruction block.
OSF — One Shot Falling
F_TRIG
The falling-edge twin: sets its output bit for one scan when the rung input goes from ON to OFF.
TON — Timer On-Delay
TON
Starts timing when the rung goes TRUE and sets its DN bit once the preset elapses; resets to zero the moment the rung goes false.
TOF — Timer Off-Delay
TOF
DN is TRUE while the rung is energised, and stays TRUE for the preset time after the rung goes false — a hold-on delay.
RTO — Retentive Timer On
TONR
Accumulates run-time across multiple TRUE periods and keeps its accumulator when the rung goes false. Only a RES (reset) instruction clears it.
CTU — Count Up
CTU
Increments its accumulator by one on each false-to-true rung transition and sets DN when the count reaches the preset.
CTD — Count Down
CTD
Decrements the accumulator on each false-to-true transition. Often shares an address with a CTU so one counter tracks items in minus items out.
CTU + CTD pair
CTUD
The IEC combined counter: separate count-up and count-down inputs drive a single accumulator — one block instead of a paired CTU/CTD.
EQU — Equal
EQ ( = )
True while Source A equals Source B, passing power to the rest of the rung. Siblings NEQ, LEQ and GEQ share the same block shape.
GRT — Greater Than
GT ( > )
True while Source A is greater than Source B — the go-to block for high-level and over-range checks.
LES — Less Than
LT ( < )
True while Source A is less than Source B — the mirror of GRT for low-level and under-range checks.
MOV — Move
MOVE
Copies a source value into a destination tag every scan the rung is true — the workhorse for loading presets, clearing registers and shuffling data.
ADD — Add
ADD
Stores Source A + Source B in a destination when the rung is true. SUB, MUL and DIV share the shape — swap the label, keep the wiring.
JSR — Jump to Subroutine
CAL (call)
When the rung is true, scanning jumps to the named routine, executes it, and returns to the rung after the JSR. The backbone of organized, modular programs.
LBL — Label
Jump label
Marks the landing point for a JMP (jump) instruction. Scanning resumes at the LBL rung, skipping everything between the JMP and the label.
RET — Return
RET
Ends a subroutine and hands execution back to the rung after the JSR that called it. Optional in many platforms — the end of the routine returns implicitly.
MCR — Master Control Reset
MCS / MCR zone
Used in pairs to fence a zone of rungs. When the first MCR rung is false, every non-retentive output inside the zone de-energises; latched bits keep their state.
Left / right rail
Power rails (L / N heritage)
The two vertical lines framing the diagram. Logical "power" flows from the left rail through each rung's conditions toward the right rail. Rungs evaluate top to bottom, left to right, every scan.
Branch
Parallel connection (OR)
The rung wire splits at a junction into parallel paths that rejoin further right. Power passes if ANY path is true — the graphical OR, and the shape behind every seal-in circuit.
A cheat sheet gets you reading — the simulator gets you writing. Create a free account and every symbol on this sheet becomes a live, draggable instruction in the browser: watch contacts open, coils latch and timers count in real time, with auto-graded scenarios to drill each one.
Ladder logic symbols are the graphical instructions of a ladder diagram. The two vertical power rails frame the program; each horizontal rung is one logic statement read left to right. Contacts -| |- and -|/|- are input conditions, coils -( )- are outputs, and boxed instruction blocks add timers (TON, TOF, RTO), counters (CTU, CTD, CTUD), comparisons (EQU, GRT, LES), data moves (MOV) and program-flow control (JSR, MCR). Every symbol either passes power, blocks power, or writes a result when power reaches it.
Practise every ladder logic symbol in your browser
No install. No PLC licence. No credit card. Real contacts, coils, timers and counters with auto-graded feedback.