PLC Simulator
Universal Robots Simulator · URScript

Universal Robots simulator — learn URScript free in your browser

Write real URScript on a simulated UR-style e-Series cobot arm, run pick-and-place with live physics, and learn frames, TCP, I/O, the gripper, and cobot safety — with auto-graded lessons, from zero. No install, no robot, no vendor license. Play free in your browser; go Pro for the full course and a certificate.

A Universal Robots–style six-axis arm standing in a 3D factory cell in the browser-based UR simulator, with a parts table, safety railing and pallet.
The real 3D simulator: a six-axis UR-style e-Series arm in a factory cell. You write the URScript; the simulator solves the kinematics and runs it under physics.

The robots

What are Universal Robots?

Universal Robots (UR) makes collaborative robots — cobots — six-axis articulated arms designed to work safely alongside people without the cages a traditional industrial robot needs. The current e-Series family spans the UR3e, UR5e, UR10e, and UR16e, which differ mainly in reach and payload but share the same kinematics and the same programming model. Their friendly programming and large community make UR the most popular on-ramp into robot programming.

You program a UR in two complementary ways. PolyScope is the graphical interface on the teach pendant, where you jog the arm and build a program tree of waypoints and nodes. URScript is UR’s underlying text language — movej, movel, movep, set_digital_out, and more — which runs on the controller and is what every PolyScope program ultimately executes. Learning URScript is the fastest way to truly understand how a UR moves.

Diagram of the six-axis Universal Robots-style cobot arm the simulator models, with base, links, gripper and tool centre point and its J1–J6 jointsA six-axis articulated robot arm with a base and a two-finger gripper, its six rotary joints labelled J1 through J6.J1J2J3J4J5J6TCP
The UR-style six-axis arm the simulator models, with joints J1–J6 and the tool centre point.

Our simulator

A browser-based UR simulator that teaches real URScript

Our Universal Robots simulator puts a 3D UR-style arm in your browser tab. You write real URScript — the same commands a UR controller runs — and the simulator parses it, solves the inverse kinematics for each pose, plans the joint trajectory, and runs the motion under physics. Grab a part with the gripper and it follows the tool; drive into something and a collision is detected. Nothing to install, no virtual machine, no robot, no license.

Crucially, the lessons are auto-graded. Each task defines success — place the part at B within tolerance, no collision, under a cycle-time budget, within the cobot force limit — your program runs, and you get specific feedback on what to fix. That goal-based grading is what turns watching into learning.

Diagram of movej versus movel in the UR simulator: movej curves through joint space while movel keeps the simulated tool on a straight Cartesian lineTwo tool paths between the same two points: a curved joint move (movej) in cyan and a straight linear move (movel) in amber.ABmovej — joint arcmovel — straight line
movej vs movel, run in the simulator
Diagram of the pick-and-place cycle you run in the UR simulator: approach, grasp, lift, traverse, place and release a part from A to BA repeating pick-and-place cycle around a loop: approach, close gripper, lift, traverse, place, open gripper.1Approach2Close3Lift4Traverse5Place6OpenLOOP
The graded pick-and-place cycle, A → B

Real code

You write the same URScript a real UR runs

No drag-blocks-only toy and no invented pseudo-language. A first pick-and-place program in the simulator looks like this — and the exact same commands run on a physical Universal Robots controller:

# Pick a part at A, place it at B
set_tcp(p[0,0,0.15,0,0,0])        # tool centre point: 150 mm gripper
set_payload(0.8)                   # 0.8 kg part in the gripper

movej(home_q, a=1.4, v=1.0)        # joint move to a safe home pose
movel(pick_approach, a=1.2, v=0.3) # linear move above the pick
movel(pick, a=0.5, v=0.1)          # straight down onto the part
set_digital_out(0, True)           # close gripper
sleep(0.4)

movel(pick_approach, a=1.2, v=0.3) # lift straight up
movel(place, a=1.2, v=0.25)        # linear move to place B
set_digital_out(0, False)          # open gripper
movej(home_q, a=1.4, v=1.0)        # return home

The simulator parses this, solves the inverse kinematics for each target pose, plans the joint trajectory, and runs it under physics. movej moves fast through joint space; movel keeps the tool on a straight Cartesian line; movep holds a constant tool speed through blends — the distinctions every UR programmer has to learn, shown live.

Diagram of how the UR simulator turns URScript into motion: it parses each command, solves inverse kinematics for the target pose, plans the trajectory, and runs the arm under physicsThree lines of URScript — movej, movel and set_digital_out — each mapped by an arrow to the corresponding motion on the robot arm.program.urpmovej(p1)movel(p2)set_digital_out(0,True)
The simulator parses your URScript, solves the inverse kinematics, plans the trajectory, and runs it.

Honest comparison

URSim vs a browser learning simulator

These tools solve different problems, and the best workflow often uses both. URSim is the official tool for building real programs; ours is the fastest way to learn URScript before you get there.

URSim (official)

Universal Robots’ own offline simulator. It runs the full PolyScope and UR controller in a Linux virtual machine, so you can build and validate complete production programs on your computer and deploy them to a real robot. It is the right tool for serious offline programming — it is just heavier to install and configure, and assumes you already know the robot.

Our browser simulator (learning)

A zero-install simulator that opens in a browser tab on any computer. It teaches URScript from zero with guided, auto-graded lessons and a 3D UR-style arm. It is not a replacement for URSim’s full program development — it is the learning on-ramp. Many people start here, then move to URSim once the fundamentals click.

In short: URSim = full official offline sim for real programs; this = the free, browser-based way to learn URScript with graded lessons. Complementary, not competing.

Safety first

Learn cobot safety — protective stops and payload

A collaborative robot is only collaborative when it is configured safely. The simulator teaches the safety behaviour that defines a cobot, so you build the right instincts before you ever stand next to a real arm.

Protective stop

When the arm meets an unexpected over-force contact, it stops — a protective stop. Learn what triggers it, how to recover, and how to plan motion that avoids nuisance stops.

Payload & TCP

Set the payload mass and tool centre point correctly. Get them wrong and the arm misjudges its own dynamics; the simulator shows how payload and TCP affect reach, accuracy, and safe speed.

Speed & force limits

Cobots run within force and speed limits when sharing space with people. Practise keeping moves inside those limits while still hitting your cycle time.

Safe approach motion

Use approach waypoints and linear moves so the tool comes onto a part predictably — the habit that keeps real cells collision-free.

Diagram of cobot safety in the UR simulator: force limiting, a safety plane, and a protective stop triggered by an unexpected over-force contactA collaborative robot surrounded by concentric speed-and-separation monitoring zones, with a protective-stop indicator when a person enters the inner zone.warningreduced speedstopPROTECTIVESTOP
Force limiting and the protective stop
Diagram of payload and TCP in the UR simulator: the mass of tool plus part the cobot must know to move accurately and keep its force monitoring correctA robot arm holding a payload box at its tool centre point, with a mass and centre-of-gravity indicator and a small downward droop hint.3.0 kgCoGdroop
Payload and TCP set correctly

What you’ll learn

From first jog to a graded pick-and-place cell

The course takes you from never having touched a robot to programming a working, collision-free pick-and-place cell — every lesson graded against a real goal.

Jogging & frames

Move the arm in joint space and in Cartesian space; understand base vs tool frames and how the TCP is defined.

Your first moves

movej vs movel vs movep — when each is right, and how speed and acceleration change the motion.

Digital I/O & gripper

Read and set digital signals; open and close a gripper to actually pick something up.

Pick-and-place A→B

The core skill: approach, grasp, lift, traverse, place, release — the backbone of real cobot work.

Waypoints & blends

Chain waypoints with blend radii for smooth, fast cycles instead of stop-start motion.

Payload & TCP

Configure payload and tool centre point and see how they change reach, accuracy, and safe speed.

Collision & safety

Cobot protective stops: trigger and avoid over-force contacts; respect safety planes and speed limits.

Graded capstone

Palletise four parts into a pattern — no collision, under cycle time, within force limits — and earn the pass.

Pricing

Free to play, Pro to master

Play in your browser for free — write URScript and run the simulated UR arm at no cost, no card. Go Pro to unlock the full graded course end-to-end and earn a certificate of completion. Same login as our PLC simulator.

Keep exploring

More robot programming resources

Questions

Universal Robots simulator FAQ

Yes. Our Universal Robots simulator runs entirely in your browser — no download, no virtual machine, no vendor license. You write real URScript, run it against a simulated UR-style arm with physics, and learn pick-and-place, frames, TCP, and cobot safety through guided, auto-graded lessons. It opens in a tab on Mac, Windows, Linux, or a Chromebook. It is built to teach URScript from zero, so it is the fastest way to get hands-on without installing anything.

Program a Universal Robot in your browser.

No install. No robot. No license. Real URScript on a simulated UR-style e-Series arm — free to play, graded from zero.