FREE TOOL
Paste a Cisco IOS or IOS XE running-config and get a structured record: interfaces, addressing, VLANs, trunks, routes, and services, as YAML you can commit next to the config it came from. It runs in your browser, so nothing you paste leaves this page. No account, no sign-in.
Compare these counts against the config before you trust the record. A file that parses is not the same as a file that was read correctly.
| Device | Interfaces | VLANs | Static routes | Routing | Users |
|---|
These sections are in the config you pasted and have no field in the record. That is the honest edge of the model, not a parsing failure.
A running-config is already structured, it just does not look like it. A line with no leading space opens a block, and the indented lines under it belong to that block. The parser walks the text with that one rule, collects a record per interface, per VLAN, and per routing process, and hands the records to a writer. Read that way, a config is not text to be searched, it is data that happens to be printed.
Masks come back with the prefix length alongside them, because half the tooling you will feed this to wants 255.255.255.0 and the other half wants24. Trunk lists keep the compact form the device uses,10,20,30-32, with the count next to it, so the field has one type whether the trunk carries three VLANs or three thousand. A secondswitchport trunk allowed vlan add line folds into the same field rather than overwriting it.
Paste several configs at once and each one becomes its own record, as long as you keep the prompt line, such as acc-sw01#show running-config. One device comes out as a plain map. More than one comes out under a devices list.
It models Cisco IOS and IOS XE. NX-OS, IOS XR, and Junos share some syntax and will produce a partial record rather than an error, which is the worse failure of the two, so read the counts. It does not resolve what a config means: an interface in an OSPF network statement is not marked as an OSPF interface, and a port channel member is not linked to itsPort-channel parent. Those are joins you do after the parse, not during it.
The list of unmodelled sections is the boundary made visible. QoS policy, ACLs, crypto, banners, and AAA are all real configuration that this record does not carry. If the thing you need is on that list, this is the wrong shape for your question.
Pasting into a web page is the demo. The version that pays off runs against every device on a schedule and writes the YAML into a repository, so the inventory is regenerated rather than maintained and a diff shows you what changed overnight. That is the difference between a document that describes the network and a record that is derived from it.
The paid course builds that loop in order: lesson 5 feeds what you discover into a source of truth, lesson 6 versions it in git, and lesson 3 proves a change against it before and after. If you want to see how the teaching reads first, lesson 16 is free with an account and includes a graded lab.