Write structured text online free: a browser ST editor with a real IEC 61131-3 compiler, live simulation, and instant ladder/FBD views of the same program.

Writing structured text online — in a browser editor with a real compiler and a runnable scan cycle behind it — solves the problem every ST learner and most working engineers hit: the language lives inside vendor IDEs that are Windows-only, gigabytes heavy, licensed, or all three. For a language that's just text, that's absurd friction. Here's what a browser ST environment genuinely offers in 2026, the workflow it unlocks, and a paste-and-run starter so you can be compiling IEC 61131-3 within the minute.

What an Online ST Editor Must Have (Checklist)

Plenty of pages render ST syntax highlighting and call it an editor. The useful bar is higher — four things, in order of importance:

  1. A real compiler. Types enforced (PT := 5 refused because PT wants TIME), declarations required, function block instances validated. What a PLC compiler checks and why is its own post; without it, you have a notepad.
  2. A scan-cycle runtime. ST's semantics only make sense executing: the program runs top to bottom every few milliseconds, which is why a WHILE loop waiting on an input is a fault, not a pattern. Toggling live inputs against running code is how those semantics become instinct.
  3. The graphical twins. The same program viewable as ladder and FBD — because Motor := (Start OR Motor) AND StopOK; is the seal-in rung, and seeing the equivalence live is the fastest ST education there is.
  4. Standard function blocks. TON/TOF/TP, CTU/CTD, R_TRIG, SR/RS callable as the standard defines them, instances and all.

The PLC-Ladder editor is built to exactly this checklist, free, with no install; the free tools comparison covers the installable alternatives if you need a vendor dialect offline.

Paste This and Run It

A complete starter that exercises the language's core — latch, timer, edge-counted events:

PROGRAM Starter
VAR
    Start, StopOK, Motor, Pump : BOOL;
    RunDelay : TON;
    StartEdge : R_TRIG;
    Starts : INT;
END_VAR

Motor := (Start OR Motor) AND StopOK;      (* seal-in *)

RunDelay(IN := Motor, PT := T#3s);         (* pump follows 3 s later *)
Pump := RunDelay.Q;

StartEdge(CLK := Motor);                   (* count motor starts *)
IF StartEdge.Q THEN
    Starts := Starts + 1;
END_IF;
END_PROGRAM

Run it: set StopOK true, pulse Start, watch Motor latch, RunDelay.ET climb, Pump follow, Starts increment exactly once per start. Then do the three experiments that teach more than any tutorial: change PT := T#3s to PT := 3 and read the compile error; delete the R_TRIG and watch Starts race; flip to the ladder view and find your IF statement living as a rung. Ten more worked programs continue from here, and the full syntax guide fills the gaps.

Who Actually Uses ST Online (Real Workflows)

Students check assignments against a compiler before submission instead of after grading — and settle "is this valid IEC syntax?" arguments in thirty seconds. Working engineers prototype at lunch on machines that can't install software: the logic gets debugged in the browser, then re-typed into the licensed vendor seat with the thinking already done. Teams reviewing AI-generated code hold it to compile-and-run standards in the browser before a human spends review time on it. Interviewers and candidates share a common environment where "write me a debounced counter" takes two minutes, any laptop, no setup.

The Boundary, Stated Plainly

Browser ST compiles and simulates IEC 61131-3; it doesn't download to controllers, and vendor extensions (Siemens SCL's quirks, Rockwell's ST flavor) differ at the edges — portable-core first is the right learning order anyway. And simulation proves logic, not machines: commissioning still owns physical reality. Within that boundary, the collapse in friction is the whole story — the language that used to need a licensed Windows seat now starts in the next ten seconds, and the editor is one click away.