Network Config Parser

Paste a Cisco IOS / IOS-XE / NX-OS, Arista EOS, or Juniper Junos configuration and turn it into a foldable, searchable tree. Export a nested JSON tree, a flat list of command paths, or a stats report. Runs entirely in your browser — no upload, no sign-up.

Try:
Parsed config

About this tool

The network config parser turns a hierarchical device configuration into a structured, foldable tree you can read and search. Paste a running config from a Cisco IOS / IOS-XE / NX-OS switch or router, an Arista EOS device, or a Juniper Junos box, and the parser reconstructs the parent/child hierarchy — interfaces and their sub-commands, routing processes and their networks, Junos { … } blocks and their statements.

It handles two syntaxes. Indentation style (Cisco, NX-OS, Arista) uses leading whitespace to express nesting, with ! lines as section separators. Brace style (Juniper Junos) uses { … } blocks with statements ending in ;. Leave the syntax on auto and the tool detects which one you pasted.

Choose how you want the result:

Type a substring into filter to keep only the sections and lines that match: matching a section header keeps its whole block, and matching a deep value keeps its ancestor chain so you never lose context. Everything runs locally in your browser — the configuration you paste never leaves your machine.

FAQ

Which vendors and config formats does it understand?

Two syntactic families. Indentation style covers Cisco IOS, IOS-XE and NX-OS, plus Arista EOS — devices that express nesting with leading whitespace and use ! as a separator. Brace style covers Juniper Junos, which nests with { … } blocks and ends statements with ;. The parser works on the structure of the text, so any config that follows one of those two conventions parses, regardless of the exact platform.

Is my configuration uploaded anywhere?

No. The parser is compiled to WebAssembly and runs entirely inside your browser tab. The configuration you paste is never sent to a server, logged, or stored — close the tab and it is gone. That makes it safe to use on production configs that contain hostnames, addresses, and other sensitive details.

What is the difference between the tree, paths, and report outputs?

Tree gives you the full hierarchy as nested JSON ({ line, children }), best for programmatic use. Paths flattens the tree into one line per leaf statement, joining each command to its ancestors with / — handy for grepping or diffing. Report skips the detail and returns a section list plus summary stats (sections, total lines, leaf statements, depth, comments) so you can size up a config at a glance.

How does the filter keep context?

The filter is a case-insensitive substring match. If the substring matches a section header, the entire block under that header is kept. If it matches a deep value, only that line survives, but its full chain of parent sections is retained so the result is still a valid, readable tree. An empty filter (the default) returns the whole config.

What happens to comments and separators?

By default (comments = strip) comment and separator lines are removed: bare ! separators, !- and #-prefixed comment lines in indentation style, and #-to -end-of-line and /* … */ block comments in brace style. Switch to comments = keep to retain the prefixed comment lines as nodes in the tree; bare ! separators are always dropped because they carry no content. The report's comments stat always counts how many were seen.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool network-config-parser "interface GigabitEthernet0/1
 description uplink to core
 ip address 10.0.0.1 255.255.255.0
 no shutdown
!
router ospf 1
 network 10.0.0.0 0.0.0.255 area 0"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/network-config-parser/?config=interface%20GigabitEthernet0%2F1%0A%20description%20uplink%20to%20core%0A%20ip%20address%2010.0.0.1%20255.255.255.0%0A%20no%20shutdown%0A%21%0Arouter%20ospf%201%0A%20network%2010.0.0.0%200.0.0.255%20area%200&syntax=auto&output=tree&filter=ospf&comments=strip

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.