Containerlab, with a canvas.
Same YAML. Now in your browser.
Containerlab is the cleanest way to spin up container-native labs from the CLI - and netplex. isn't here to argue with that. It speaks the same YAML and the same lab-as-code workflow, then adds what a CLI can't: a visual canvas, real vendor VMs without the vrnetlab dance, access from any browser on any OS, and real multi-user. Keep your pipeline. Give your team a GUI.
Containerlab is CLI-and-YAML by design - brilliant for automation engineers, still a climb for everyone else on the team. Its own docs point you to hand-written topology files, and a graphical editor (TopoViewer, bundled in the official VS Code extension) can now edit that YAML visually - real progress, but it still means installing VS Code plus an extension, tied to one person's editor, not a browser link a whole team can open. netplex. keeps the YAML and the CLI and puts a live canvas in front of them from day one, in any browser - so the juniors, the students and the network architect can all build, not just the scripters.
A great tool - if you live in the CLI.
Not everyone does.
The canvas lives inside an IDE, not a browser
Every topology starts as a hand-written .clab.yml: nodes, kinds, endpoints, link lists. TopoViewer, bundled in the official VS Code extension, now edits that visually - drag nodes, wire links, inspect interfaces, a real graphical editor, not a bolt-on. But it's a VS Code webview: onboarding anyone who isn't fluent in the schema still means installing VS Code and an extension first, and there's no real-time co-editing or a link you can just send someone.
Vendor VMs mean the vrnetlab dance
Containers are effortless. Real vendor VMs - vMX, vSRX, CSR, XRv - are not: each one is a vrnetlab image you build yourself with per-image make, a compatibility matrix, 3-25 minute boots, and labs that balloon toward 48 GB.
Linux + Docker on your machine
Containerlab runs where Docker/Podman runs - a Linux host. macOS and Windows are second-class: the WSL2 dance, ARM64 image gaps on Apple Silicon, and no tc traffic-control inside Docker Desktop for link impairments.
Single-user by nature
Containerlab is a CLI tool, so access is host access. Membership of the root-equivalent clab_admins group runs labs - there is no built-in login, no per-user RBAC, no teams or quotas. Sharing a host between a class or a team is a manual, trust-everyone affair.
No classroom model
There is no student pod, no per-learner isolation, no grading. Teaching 25 people with Containerlab means 25 Linux boxes with Docker, or one shared host where everyone can see and stop everyone else's nodes.
Consoles and capture live in VS Code, not a browser
The official VS Code extension does bundle node shell/SSH access and packet capture (via Wireshark or Edgeshark) into VS Code itself - genuinely one screen. But that screen is an IDE window on one person's machine, not a link your whole team can open in any browser.
Containerlab vs netplex.
Same YAML. More ways in.
| Feature | Containerlab Free / open source |
netplex. Tier shown per row |
|---|---|---|
| Lab-as-code (YAML) | Yes - the whole model | Yes - .npx + YAML export |
| Deploy / destroy / inspect CLI | Yes - clab deploy/destroy/inspect | Yes - netplex CLI + Python SDK |
| Visual canvas editor | TopoViewer (VS Code extension) - real editor, but needs VS Code installed; no browser-only access, no real-time co-edit | Yes - full browser Studio, built in |
| Runs on your machine | Linux + Docker/Podman required | Nothing local - any browser |
| macOS / Windows / Apple Silicon | Second-class (WSL2, ARM64 gaps) | First-class - thin client |
| Container nodes | Yes - native, its core strength | Yes - any Docker image |
| Full vendor VMs (vMX, vSRX, CSR…) | vrnetlab - build each image, 3-25 min boots | Drop a qcow2 → vendor profile auto-applied |
| Import existing vrnetlab container images | Native, any of the 30+ wrapped kinds | A curated set natively (e.g. MikroTik CHR) - outside that, bring the qcow2, run via QEMU |
| Import your .clab.yml topology | - | Yes - via the netplex CLI / API |
| Link impairment: delay / jitter / loss / rate | Yes - tc / netem | Yes - all tiers (netem) |
| Packet corruption impairment | Yes | Not yet |
| CI/CD integration | Yes - run the CLI in CI | netplex test - GitHub / GitLab actions |
| AI agent access (MCP) | No | Professional · beta |
| Multi-host distributed fabric | No - bring your own orchestration | Architect · beta |
| Multi-user / RBAC / teams / quotas | CLI itself is single-user; an optional add-on server bolts on PAM login + 2 roles | Not currently offered |
| Education / student pods / grading | Not built in | Not currently offered |
| Browser consoles + packet capture | Via VS Code extension (shell + Wireshark/Edgeshark), or docker exec/SSH + host tcpdump | Browser-native - no install |
Containerlab facts from containerlab.dev docs, the srl-labs/vscode-containerlab extension docs and vrnetlab (July 2026); netplex. rows are code-verified against the platform source (parity audit, July 2026). Rows where Containerlab leads are marked honestly.
Keep your YAML. Get a canvas too.
Same lab-as-code workflow, plus a visual canvas and real vendor VMs without the vrnetlab dance.
Straight with you - where Containerlab still wins
If your images are already vrnetlab containers: netplex. does not import the general vrnetlab catalogue - most vendor VMs on netplex. skip vrnetlab entirely, running directly off the source qcow2 via QEMU with a vendor profile applied. A small, curated set of vrnetlab-wrapped images (currently MikroTik CHR, with more planned) is supported natively - the Library recognises them with their own filter and badge and launches them through Docker, console-in to the vendor OS inside. Outside that curated set, bring the source qcow2 instead. Containerlab also has a packet-corruption impairment knob that netplex. doesn't have yet (delay, jitter, loss and rate are all there). The official VS Code extension is a genuinely capable graphical editor now - drag-and-drop topology building, node templates, console access and packet capture, all inside VS Code - if your whole team already lives in that editor, it covers real ground. And if your entire workflow is `clab deploy` inside a CI runner and nothing else, Containerlab is already perfect - netplex. speaks the same YAML, so you lose nothing by keeping it there. Everything else on this page is live and verified against our source, not roadmap.
Keep the YAML. Add everything a CLI can't give a team.
netplex. is a server product, not a CLI tool - so the same lab-as-code you already write becomes something a browser, a classroom and a CI pipeline can all reach at once.
A canvas over your code
Build by dragging nodes and drawing links, or write .npx/YAML by hand - both are first-class and stay in sync. The people who love the CLI keep it; everyone else gets a picture they can edit.
Vendor VMs without vrnetlab
Drop a qcow2 into the Library and the image pipeline classifies it, applies the vendor's recommended CPU/RAM/NIC profile and boot-tests it. No per-image make, no compatibility matrix, no 48 GB container builds.
Any browser, any OS
The netplex. host runs the lab; every user drives it from a browser - Mac, Windows, Chromebook, Apple Silicon included. No local Docker, no WSL2, no ARM64 image hunt.
Import your .clab.yml
Point the netplex. CLI or API at an existing topology.clab.yml. Nodes, kinds, links and inline configs map to the .npx model; external config-file references are flagged so nothing goes missing silently.
An MCP server, not just a CLI
You automate with YAML today - now an AI agent can drive the same lab over MCP: list topologies, wire links, run commands, all through the same API your CI already hits. · beta
Scale beyond one machine
An orchestrator schedules your topology across as many worker hosts as you own, stitched together with encrypted VXLAN - the clustering Containerlab leaves to you. · roadmap, beta
Your topology file is already valid input.
Nothing to rewrite.
Keep your .clab.yml
Your existing topology.clab.yml stays exactly as it is - it's the input, not something to convert by hand.
Import via CLI or API
Point the netplex. CLI or REST API at the file. Kinds, nodes, links and inline configs map across; external file refs are flagged, not dropped.
Drive it from a browser
Open the canvas, start the lab, console into any node and capture packets - with no Docker or Linux on your own machine.
Kinds mapped
Container kinds map to Docker nodes; vr-* kinds map to QEMU vendor types; bridge/ovs-bridge become switch nodes.
Inline configs carry
Startup config embedded inline in the topology imports as an active profile. External config-file paths are surfaced as warnings.
EVE-NG and GNS3 too
The same importer family handles EVE-NG .unl and GNS3 .gns3project - consolidate every lab format into one platform.
Containerlab to netplex.
The questions people actually ask.
Last reviewed September 2026 · Spotted something out of date? Tell us.
Keep the CLI you love.
Give the lab a front door.
Start on the free Associate tier. Import a .clab.yml, open the canvas, and hand your team a browser link instead of a Docker setup guide.
Australian schools get the full platform free - install and teacher training included. Learn more →