PLC Simulator
Free Tier Available

PLC Simulator — Run Ladder Logic in Your Browser

Write IEC 61131-3, Allen-Bradley, or Siemens ladder logic, press Run, and watch a simulated machine respond in real time. 40 auto-graded scenarios. No install, no license key.

This is a live PLC simulator running in your browser right now — no plugin, no install.

What it is

What is a PLC Simulator?

A PLC simulator is software that emulates a programmable logic controller so you can write and test PLC code without owning hardware. Instead of wiring up a real rack, connecting IO modules, and commissioning a physical plant, you describe the control logic in ladder rungs or structured text, press Run, and a software model of the machine responds — tanks fill, motors spin, conveyors move, alarms trigger. Every instruction executes against a real scan cycle: read inputs, execute program, write outputs. The difference from a real PLC is that the IO table is virtual, not wired.

What makes a browser-based PLC simulator different is the absence of install friction. Traditional plc simulation software — Siemens PLCSIM, Rockwell Studio 5000 Logix Emulate, LogixPro, CoDeSys — all require a Windows machine, a multi-gigabyte installer, and often a paid license. That is fine for a plant engineer on a dedicated workstation, but it kills the first-hour experience for students, hobbyists, or engineers prepping for an interview on a locked-down corporate laptop. A plc simulator online changes that equation: load a URL, pick a scenario, and write your first rung in under two minutes. It runs on Chromebooks, Macs, Linux boxes, and Windows machines equally — anything with a modern browser.

Not every browser PLC emulator is the same, though. Rung drawing tools let you sketch a ladder diagram but do not actually execute the logic. A genuine plc emulator runs a scan cycle, maintains an IO table, evaluates every rung in order, and updates output coils accordingly. Ours goes further: each scenario ships with a scripted test harness that evaluates your program against specific objectives — correct sequencing, interlock behaviour, timing windows — and returns pass/fail results with failure reasons. That is the difference between drawing a ladder and proving your ladder works. See the full library at /scenarios or jump straight to the PLC programming simulator overview.

A browser-based PLC simulator: ladder logic in the editor on the left drives a live machine model on the right, with no install and no vendor runtime.A web browser window running a PLC ladder logic simulator with an input/output strip, requiring no installation or download.plcsimulator.app/playno installINPUTSOUTPUTS
A PLC simulator runs entirely in the browser — write logic, press Run, watch the machine respond.
How it works

How PLC Simulation Works

Every scenario follows the same three-step loop. The whole thing runs in one browser tab — no second window, no separate runtime process.

1

Write your ladder logic

The Monaco-based code editor accepts IEC 61131-3 Structured Text, Allen-Bradley RSLogix-style rungs, or Siemens TIA Portal-style networks. Switch dialect from the toolbar at any time. Every standard instruction is wired: XIC, XIO, OTE, OTL, OTU contacts and coils; TON, TOF, TP timers; CTU, CTD counters; R_TRIG and F_TRIG edge detection; MOV, ADD, SUB, MUL, DIV math; PID. The IEC “VAR…END_VAR” declaration block and AB address notation (I:0/0, T4:0, C5:0) are both supported.

2

Run the simulator

Press Run and the scan cycle starts. Each cycle reads the input image table, executes your rungs top-to-bottom, then writes coil states to the output image. The IO table panel shows every address — %I0.0, %Q0.1, T4:0.ACC — updating live so you can watch a rung evaluate in real time. Set a breakpoint on any rung, or inject a manual input override to test an edge case without waiting for the physics model to reach it.

3

Watch the machine respond

The Phaser-rendered physics canvas updates as your outputs change. Tanks fill or drain based on valve coil states. Motors spin when the run coil is energised. Conveyors move, lamps light, alarms trigger. Auto-graded test cases evaluate whether the machine hit every objective — correct fill sequence, interlock respected, timing within spec — and return pass/fail with the exact failure reason so you know which rung to fix.

The PLC simulator scan cycle: read the input image table, execute every ladder rung top-to-bottom, update the output image table, then repeat — the same loop a real PLC runs.The repeating PLC scan cycle: read inputs, execute the ladder logic, update outputs, then housekeeping, looping continuously.1Read Inputs2Execute Logic3Update Outputs4HousekeepingSCANCYCLE
Every scenario in the PLC simulator runs this scan cycle, just like physical hardware.
Comparison

Compare to Other PLC Simulators

Every simulator in this table does something useful. The differences are in access friction, cost, and scope. This comparison is honest — we note where the others are stronger.

SimulatorBrowser-basedFree tierAuto-gradedMulti-dialectScenarios
This simulator✓ (9 free)✓ IEC, AB, Siemens40
LogixPro✗ Windows only✗ Paid licensePartial✗ AB only~10
Siemens PLCSIM✗ TIA Portal required✗ TIA Portal license✗ Siemens onlyNone
Studio 5000 Logix Emulate✗ Windows only✗ Paid license✗ AB onlyNone
CoDeSys (built-in sim)✗ IDE install required✓ IDE is freeIEC 61131-3 onlyNone
PLC-Fiddle✗ IEC onlyNone

CoDeSys is genuinely the most capable free IEC 61131-3 IDE available. If your target is professional Beckhoff or Wago deployment, install CoDeSys. If your target is fast, hardware-free practice across multiple dialects with auto-graded feedback, this simulator is the faster path.

Audience

Who Uses This PLC Simulator?

Three groups make up most of the active users. Each one has a different reason to avoid the install friction of traditional plc simulation software.

Students and trainees

Mechatronics, electrical engineering, and automation students who need ladder logic practice outside the lab. Most cannot afford per-seat desktop licenses, and university lab machines frequently have admin-locked software installs. A free plc simulator that runs in a browser removes both barriers. The structured scenario library — from basic motor start/stop through PID control and multi-step batch sequencers — maps closely to the control-systems curriculum in technical colleges and universities.

Learn PLC programming →

Plant and controls engineers

Engineers preparing for a controls role interview, or verifying a logic change before a commissioning window. You know the problem: spinning up a Siemens VM or a Rockwell emulator to test three rungs is a 45-minute setup tax, not a five-minute sanity check. A browser PLC emulator lets you draft and test the core logic at a coffee shop, hand it to a colleague for review, and only fire up the full vendor tool when the logic is already known-good. The PLC programming simulator supports the full instruction set you actually use day-to-day.

Hobbyists and self-learners

People who build home automation projects, tinker with Arduino/Raspberry Pi, and want to understand industrial control logic without buying a starter PLC kit. The free tier — two complete scenarios, no account required — is a genuine try-before-you-commit offer, not a limited demo. The ladder logic simulator page explains the rung-by-rung mechanics if you are coming from general programming rather than industrial controls.

Ladder logic reference

Ladder Logic in the PLC Simulator

Ladder logic — formally ladder diagram (LD) in the IEC 61131-3 standard — is the most widely used PLC programming language because it reads like the relay circuits PLCs replaced. A program is a stack of horizontal rungs drawn between two vertical power rails. Each rung holds input contacts on the left and one or more output coils on the right. Power is evaluated left to right: when a complete path of true contacts connects the left rail to a coil, that coil energises. Contacts in series form an AND; contacts in parallel form an OR. The PLC simulator evaluates every rung top to bottom, once per scan cycle, exactly like real hardware. For the full symbol set, see the ladder logic symbols reference.

A worked example: motor start/stop with seal-in

The canonical first program is a motor starter. A Start push-button (normally-open, XIC) energises a Motor coil; a Stop push-button (normally-closed, XIO) breaks the rung; and a Motor contact in parallel with Start “seals in” the rung so the motor keeps running after Start is released:

|--[ Start ]--+--[/ Stop ]--( Motor )--|
|             |
|--[ Motor ]--+

Press Run in the simulator and the scan cycle reads the inputs, solves the rung, and writes the Motor coil — you watch the motor spin on the physics canvas and the seal-in hold it on. Tap Stop and the normally-closed contact opens, the path breaks, and the motor stops. This single rung demonstrates contacts, a coil, an OR branch, and latching — the foundation of almost every PLC program. Dozens more worked examples live in the scenario library, each auto-graded against test cases.

A motor start/stop seal-in rung in the PLC simulator: a normally-open Start contact in parallel with a Motor contact, a normally-closed Stop contact in series, energising the Motor output coil.A basic ladder logic rung between two power rails: an examine-if-closed contact (XIC) in series driving an output coil (OTE).L1L2] [StartXIC I:0/0LampOTE O:0/0
The seal-in rung above, drawn as a ladder diagram the PLC simulator executes.
The core ladder logic symbols the PLC simulator supports: normally-open contact (XIC), normally-closed contact (XIO), output coil (OTE), and latch/unlatch (OTL/OTU).The core ladder logic symbols side by side: XIC examine-if-closed, XIO examine-if-open, OTE output energize, OTL output latch and OTU output unlatch.XICIfXIOIfOTEEnergizeLOTLLatchUOTUUnlatch
The ladder symbol set used across every PLC simulator scenario.

Supported instruction set

The editor implements the standard IEC 61131-3 instruction set, with Allen-Bradley (XIC/XIO/OTE) and Siemens naming available per dialect. Every instruction below executes on a real scan cycle in the browser:

InstructionTypeWhat it does
XICContactExamine If Closed — passes power when the bit is TRUE (normally-open contact).
XIOContactExamine If Open — passes power when the bit is FALSE (normally-closed contact).
OTECoilOutput Energise — the coil follows the rung: true when the rung is true.
OTL / OTUCoilOutput Latch / Unlatch — set a bit and hold it, then reset it on a separate rung.
TON / TOF / TPTimerOn-delay, off-delay and pulse timers with preset (PT/PRE) and elapsed (ET/ACC).
RTOTimerRetentive on-delay — accumulates run-time across cycles; cleared with RES.
CTU / CTDCounterCount up / count down on each false-to-true transition; DN at the preset.
R_TRIG / F_TRIGEdgeRising- and falling-edge one-shots — fire for a single scan on a transition.
MOVDataMove a value or tag into another tag.
ADD / SUB / MUL / DIVMathInteger and real arithmetic on tags and constants.
GRT / LES / EQUCompareGreater-than, less-than and equal comparisons that gate a rung.
PIDProcessClosed-loop PID control of an analog process value against a setpoint.
A TON on-delay timer in the PLC simulator: when the input is true for the preset time, the timer Done bit turns on — the elapsed value (ET/ACC) accumulates toward the preset (PT/PRE).A TON on-delay timer: the accumulated time bar ramps up toward the preset value, and the done (DN) bit turns on when the accumulator reaches preset.TONPRE 5000ACCACC ramps to PREPREDNdone bit
TON / TOF / TP timers run on the scan cycle.
A CTU count-up counter in the PLC simulator: each false-to-true transition of the input increments the accumulated count, and the Done bit fires when the count reaches the preset.A CTU count-up counter: each input pulse increments the accumulator toward the preset, and the done (DN) bit turns on when count reaches preset.count pulsesCTUPRE 5ACC 3ACCcount toward presetDNdone bit
CTU / CTD counters increment on rising edges.
The PLC programming languages the simulator supports: IEC 61131-3 ladder diagram and Structured Text, plus Allen-Bradley RSLogix and Siemens TIA Portal dialects, all running on one scan engine.The five IEC 61131-3 PLC programming languages as chips: Ladder Diagram, Function Block Diagram, Structured Text, Instruction List and Sequential Function Chart.IEC 61131-3 — five languagesLDLadder DiagramFBDFunction BlockSTStructured TextILInstruction ListSFCSequential Func. Chart
Switch dialect on any scenario — IEC, Allen-Bradley, or Siemens.
Structured Text in the PLC simulator: an IEC 61131-3 ST snippet with VAR declarations, IF/THEN logic and a TON timer call — portable to Codesys and OpenPLC straight from the editor.A small Structured Text code block in an editor: an IF/THEN condition, a TON timer call and assignments, showing text-based PLC programming.main.st — Structured Text1IF Start AND NOT Stop THEN2 Run := TRUE;3END_IF;4DelayTmr(IN := Run, PT := T#5s);5Lamp := DelayTmr.Q;
Prefer text? Write IEC 61131-3 Structured Text and export it to Codesys or OpenPLC.

Deep-dive guides cover each family in detail: PLC timers, PLC counters, structured text, and the ladder logic symbol reference. Prefer the Allen-Bradley dialect? Start with the Allen-Bradley simulator; for Siemens, the Siemens simulator.

FAQ

Common questions about the PLC simulator.

Yes. There is a free tier with two scenarios — Traffic Light and Motor Start/Stop. No credit card required, no trial clock, no install. Upgrade to Basic or Pro when you want access to all 40 scenarios, 18 structured lessons, and interview-timer mode.

Start Writing PLC Code Free

Two scenarios, no credit card, sign up in under a minute — or open the Traffic Light scenario right now without an account.

Related: PLC programming simulator · ladder logic simulator · learn PLC programming.