If you are weighing GNS3 vs CML (Cisco Modeling Labs), the deciding question is usually not the interface or the feature list. It is the images. CML ships Cisco's own router and switch images, licensed for use inside CML. GNS3 is free and open source with no software node limit, but it does not supply Cisco images, so you bring images you are licensed to use.
Two other questions decide the rest: how many nodes your labs need, and whether your computer can run them. This guide takes the three in turn. One disclosure: CloudMyLab hosts both GNS3 and CML, so we have no stake in which one you pick, only in where it runs.
| GNS3 | Cisco Modeling Labs (CML) | |
| Software | Free, open source (GPLv3) | CML-Free, or paid Personal, Personal Plus, Enterprise and Education editions |
| Cisco images | Not supplied: you bring your own | Included, licensed for use inside CML |
| Node limit | None in the software; your hardware is the limit | Free: 5 running nodes. Personal: 20 Cisco nodes. Personal Plus: 40. Enterprise: 20, more by license |
| Other vendors | QEMU appliances, Docker containers, Dynamips | Third-party KVM virtual machines and Docker containers |
| Users | 2.2: shared server, no user isolation. 3.x: users, groups and roles | Free, Personal and Personal Plus: single user. Enterprise and Education: multi-user |
| Where it runs | Desktop app plus a local server (the GNS3 VM on Windows or macOS, native on Linux) or a remote server | A server or VM you install: bare metal, VMware, AWS or Azure |
| Apple Silicon Mac | The client runs on macOS; x86 images need an x86 host | "CML does not work in M series chips" (Cisco) |
| Automation | HTTP REST API | REST API, Python client, Ansible and Terraform integration |
If your lab outgrows your laptop, or your Mac cannot run either one, the machine is the problem. CloudMyLab hosted emulators run GNS3 and CML on our servers: hosted GNS3 is a month-to-month subscription you reach from a web browser, and hosted CML runs on your own CML license from Cisco.
GNS3 is a framework that runs other people's emulators. It orchestrates QEMU virtual machines, Docker containers and Dynamips for older Cisco hardware, and it works with images from many vendors, as long as you supply them. Its documentation puts the limit plainly: "No limitation on number of devices supported (the only limitation is your hardware: CPU and memory)."
CML is Cisco's own lab platform. You install it as a server, build topologies in a browser, and get Cisco's reference images (IOSv, IOL, CSR1000v, Catalyst 8000V, NX-OS and more on the paid editions) without hunting for them. It is not Cisco-only, a claim many comparisons repeat: Cisco states that "you can integrate third-party KVM virtual machines and Docker containers".
So the choice is a trade: GNS3 gives you freedom and no software limit in exchange for sourcing images, and CML gives you licensed Cisco images in exchange for node caps and Cisco's licensing terms.
No, not by buying CML. Cisco's documentation is explicit: "Downloading these VM images and using them outside Cisco Modeling Labs without a proper license is prohibited." Whether an image would technically run in GNS3 and whether you are allowed to run it there are separate questions, and a CML license answers only the second one, for CML.
GNS3 is equally clear from its side: "GNS3 is unable to provide IOS images for your labs." Older GNS3 pages that suggest buying VIRL (the earlier name for CML) to get images do not override Cisco's license terms, so do not treat them as permission. If you want Cisco images in GNS3, they need their own license.
That is why many Cisco certification candidates end up on CML: the images come with it, legally. Our guide to Cisco CML editions covers which images each edition includes.
There is a free edition. In Cisco's words, "A CML-Free instance can run up to 5 nodes simultaneously." Two details matter. First, it is five running nodes, not five nodes in a topology, so you can build a larger lab and run part of it. Second, Linux hosts count toward the five; only unmanaged switches and external connectors are exempt. CML-Free includes IOL, IOL-L2 and ASAv images plus Linux hosts.
Five nodes covers a lot of CCNA-level practice, such as three routers and two hosts. It runs out quickly for CCNP topologies, which is where GNS3's lack of a software limit or a paid CML edition comes in.
CML Personal runs 20 Cisco nodes and Personal Plus runs 40, both for a single user, and neither can be expanded within its edition. Cisco does not count its supporting third-party node types (such as Linux hosts) against the paid allowance, which stretches 20 further than it sounds. Cisco Learning Network staff describe Personal's 20 nodes as enough for CCNP Enterprise study, and Personal Plus as the edition for CCIE or large-scale labs.
In practice your computer usually runs out before the license does. Every router image needs its own memory, and a modern image such as Catalyst 8000V needs far more than a lightweight IOL node. GNS3 has the same physics: no software cap, but the same images need the same memory. If you plan to run many heavy nodes, size the machine first, whichever tool you choose.
Cisco lists a minimum of 8 GB of RAM, four or more physical CPU cores and 32 GB of disk for CML, with Intel VT-x and EPT enabled, and that minimum "will restrict the number of nodes". Cisco also states that "CML is only fully supported when running on Intel processors"; AMD is best effort. You can install it on bare metal, in VMware, or in AWS or Azure.
GNS3 asks for less to start: its VM's documented minimum is 1 vCPU and 2 GB of RAM, plus whatever the devices inside need. On Windows and macOS, the GNS3 VM is recommended for QEMU appliances and Docker; on Linux, GNS3 can run devices directly. Our guide to what the GNS3 VM is explains when you need it.
On an Apple Silicon Mac, Cisco is direct: "CML does not work in M series chips." GNS3's client runs on macOS, but most router images are x86, so they need an x86 host to run. In both cases the Mac works fine as the client. Run the server on an x86 machine, at home or hosted, and work from the Mac's browser or GNS3 client.
Both have APIs. GNS3 servers are controlled through an HTTP REST API. CML is built on REST APIs, with a Python client (virl2_client, still named after VIRL) and stated integration with Ansible and Terraform.
The catch is the image, not the platform. Cisco notes that IOL images "do not support restconf or netconf", so if your automation practice depends on those interfaces, use an IOS XE virtual image such as Catalyst 8000V instead, in either tool. Our Ansible best practices for network automation shows what to build once the lab is running.
CML-Free, Personal and Personal Plus are single-user. For teams, CML Enterprise is multi-user and starts with 20 Cisco nodes, with more available by license, and CML Education is licensed "per concurrent user instead of per node".
GNS3 depends on the version. On GNS3 2.2, several clients can share one server, but "there is no user isolation, all users can view all projects and modify them". GNS3 3.x adds users, groups and roles.
| If you… | Choose |
| Study for Cisco certifications and want licensed images without hunting | CML (Free for small labs, Personal for CCNP) |
| Need more nodes than your CML edition allows, and have your own images | GNS3 |
| Build multi-vendor labs from images you already license | GNS3, or CML with third-party images |
| Want a team platform with Cisco images | CML Enterprise or Education |
| Use an Apple Silicon Mac | Either one on an x86 server, at home or hosted |
| Want the lab without running a server | Hosted GNS3 or hosted CML |
If neither fits, for example you need a browser-first lab server for a mixed-vendor team, see our EVE-NG vs GNS3 and EVE-NG vs CML comparisons.
Both tools ask you to run and maintain a server, and that is where lab time goes: virtualization settings, VM versions, RAM and an Apple Silicon Mac that cannot host either. CloudMyLab runs the server for you. Hosted GNS3 is month-to-month and opens in your browser. Hosted CML runs on a CML license you get directly from Cisco, since CloudMyLab does not sell CML licenses, and it comes with a 24-hour free trial so you can load a real lab first.
GNS3 vs CML comes down to images first. If you want Cisco's own images, licensed and ready, CML is the straightforward choice, and CML-Free covers small labs at no cost. If you want no software limit and you already have the images you need, GNS3 is free and flexible. Either way, size the machine for your heaviest images, and if that machine is the problem, run the tool you chose on a hosted server.
Neither is better overall. CML is the better choice if you want Cisco's own images included and licensed. GNS3 is the better choice if you want free, open-source software with no node limit in the software and you supply your own images.
Yes. CML-Free runs up to 5 nodes at the same time, with IOL, IOL-L2 and ASAv images plus Linux hosts. Linux hosts count toward the five. Paid Personal and Personal Plus editions run 20 and 40 Cisco nodes.
Not on the strength of a CML license. Cisco states that using its CML images outside Cisco Modeling Labs without a proper license is prohibited. Images you use in GNS3 need their own license.
Not on an Apple Silicon Mac: Cisco states that CML does not work on M-series chips. You can run CML on an x86 server or a hosted server and use the Mac as the client through its browser.