Network Topology Diagram Generator
Quick Start: Choose topology type → Declare stencil icons for network devices → Connect with arrow syntax → Group into zones with rectangle or package → Wrap in ```plantuml fence.
⚠️ IMPORTANT: Always use ```plantuml or ```puml code fence. NEVER use ```text — it will NOT render as a diagram.
Critical Rules
- Every diagram starts with
@startuml and ends with @enduml
- Use
mxgraph.* stencil syntax for network device icons (routers, switches, firewalls, etc.)
- Default colors are applied automatically — you do NOT need to specify
fillColor or strokeColor
- Use
rectangle "Zone" { ... } or package "Zone" { ... } to group devices into network zones
- Use
cloud "Name" { ... } for cloud/Internet shapes
- Bidirectional physical links use
-- (no arrow); directed flows use -->
- Dashed lines for VPN/wireless/logical links use
.. or ..>
- Use
skinparam for global styling
Full stencil reference: See stencils/README.md for 9500+ available icons.
Mxgraph Stencil Syntax
mxgraph.<namespace>.<icon> "Label" as <alias>
mxgraph.<namespace>.<icon> "Label" as <alias> #color
mxgraph.<namespace>.<icon> <alias>
Common Network Stencil Families
| Family |
Prefix |
Typical Icons |
| Networks |
mxgraph.networks.* |
switch, router, firewall, server, pc, laptop, wireless_hub, cloud |
| Cisco |
mxgraph.cisco.* |
routers.router, switches.layer_3_switch, security.firewall, servers.fileserver |
| Cisco 19 |
mxgraph.cisco19.* |
nexus_9300, nexus_5k, fabric_interconnect, ucs_5108_blade_chassis, storage |
| Cisco SAFE |
mxgraph.cisco_safe.security_icons.* |
ngfw, waf, ids, siem, nac, vpn, ddos, malware_sandbox |
| Citrix |
mxgraph.citrix2.* |
netscaler_gateway, storefront, delivery_controller, vda |
Connection Types
| Syntax |
Meaning |
Use Case |
A -- B |
Solid line, no arrow |
Physical Ethernet / LAN link |
A --> B |
Solid line with arrow |
Directed traffic flow |
A .. B |
Dashed line, no arrow |
VPN tunnel / wireless link |
A ..> B |
Dashed line with arrow |
Directed VPN / logical flow |
A -- B : "label" |
Labeled connection |
Link description |
Quick Example
@startuml
mxgraph.networks.cloud "Internet" as inet
mxgraph.networks.firewall "Firewall" as fw
mxgraph.networks.router "Router" as rtr
mxgraph.networks.switch "Switch" as sw
rectangle "Office LAN" {
mxgraph.networks.pc "PC 1" as pc1
mxgraph.networks.pc "PC 2" as pc2
mxgraph.networks.server "Server" as srv
}
inet -- fw
fw -- rtr
rtr -- sw
sw -- pc1
sw -- pc2
sw -- srv
@enduml
Network Diagram Types
| Type |
Purpose |
Key Stencils |
Example |
| LAN |
Local network topology |
mxgraph.networks.* |
lan-topology.md |
| WAN |
Wide area network |
mxgraph.cisco.* |
wan-topology.md |
| Enterprise |
Corporate infrastructure |
mxgraph.cisco.* |
enterprise-network.md |
| Cisco |
Cisco-specific icons |
mxgraph.cisco.* |
cisco-network.md |
| Wireless |
WiFi network |
mxgraph.networks.* |
wireless-network.md |
| Cloud Hybrid |
On-premise + Cloud |
mxgraph.cisco.* |
hybrid-cloud.md |
| Citrix |
Virtual Apps/Desktops |
mxgraph.citrix2.* |
citrix-network.md |
| Security |
Defence-in-depth |
mxgraph.cisco_safe.security_icons.* |
security-architecture.md |
| Data Center |
Spine-Leaf / UCS / SAN |
mxgraph.cisco19.* |
datacenter-network.md |
1---2name: network3description: Create network topology diagrams using PlantUML syntax with mxgraph device icons (Cisco, Citrix, etc.). Best for LAN/WAN layouts, datacenter interconnects, and physical/logical network design.4---56# Network Topology Diagram Generator78**Quick Start:** Choose topology type → Declare stencil icons for network devices → Connect with arrow syntax → Group into zones with `rectangle` or `package` → Wrap in ` ```plantuml ` fence.910> ⚠️ **IMPORTANT:** Always use ` ```plantuml ` or ` ```puml ` code fence. NEVER use ` ```text ` — it will NOT render as a diagram.1112## Critical Rules1314- Every diagram starts with `@startuml` and ends with `@enduml`15- Use `mxgraph.*` stencil syntax for network device icons (routers, switches, firewalls, etc.)16- Default colors are applied automatically — you do NOT need to specify `fillColor` or `strokeColor`17- Use `rectangle "Zone" { ... }` or `package "Zone" { ... }` to group devices into network zones18- Use `cloud "Name" { ... }` for cloud/Internet shapes19- Bidirectional physical links use `--` (no arrow); directed flows use `-->`20- Dashed lines for VPN/wireless/logical links use `..` or `..>`21- Use `skinparam` for global styling2223**Full stencil reference:** See [stencils/README.md](../uml/stencils/README.md) for 9500+ available icons.2425## Mxgraph Stencil Syntax2627```28mxgraph.<namespace>.<icon> "Label" as <alias>29mxgraph.<namespace>.<icon> "Label" as <alias> #color30mxgraph.<namespace>.<icon> <alias>31```3233### Common Network Stencil Families3435| Family | Prefix | Typical Icons |36|--------|--------|---------------|37| Networks | `mxgraph.networks.*` | `switch`, `router`, `firewall`, `server`, `pc`, `laptop`, `wireless_hub`, `cloud` |38| Cisco | `mxgraph.cisco.*` | `routers.router`, `switches.layer_3_switch`, `security.firewall`, `servers.fileserver` |39| Cisco 19 | `mxgraph.cisco19.*` | `nexus_9300`, `nexus_5k`, `fabric_interconnect`, `ucs_5108_blade_chassis`, `storage` |40| Cisco SAFE | `mxgraph.cisco_safe.security_icons.*` | `ngfw`, `waf`, `ids`, `siem`, `nac`, `vpn`, `ddos`, `malware_sandbox` |41| Citrix | `mxgraph.citrix2.*` | `netscaler_gateway`, `storefront`, `delivery_controller`, `vda` |4243### Connection Types4445| Syntax | Meaning | Use Case |46|--------|---------|----------|47| `A -- B` | Solid line, no arrow | Physical Ethernet / LAN link |48| `A --> B` | Solid line with arrow | Directed traffic flow |49| `A .. B` | Dashed line, no arrow | VPN tunnel / wireless link |50| `A ..> B` | Dashed line with arrow | Directed VPN / logical flow |51| `A -- B : "label"` | Labeled connection | Link description |5253### Quick Example5455```plantuml56@startuml57mxgraph.networks.cloud "Internet" as inet58mxgraph.networks.firewall "Firewall" as fw59mxgraph.networks.router "Router" as rtr60mxgraph.networks.switch "Switch" as sw6162rectangle "Office LAN" {63 mxgraph.networks.pc "PC 1" as pc164 mxgraph.networks.pc "PC 2" as pc265 mxgraph.networks.server "Server" as srv66}6768inet -- fw69fw -- rtr70rtr -- sw71sw -- pc172sw -- pc273sw -- srv74@enduml75```7677## Network Diagram Types7879| Type | Purpose | Key Stencils | Example |80|------|---------|--------------|---------|81| LAN | Local network topology | `mxgraph.networks.*` | [lan-topology.md](examples/lan-topology.md) |82| WAN | Wide area network | `mxgraph.cisco.*` | [wan-topology.md](examples/wan-topology.md) |83| Enterprise | Corporate infrastructure | `mxgraph.cisco.*` | [enterprise-network.md](examples/enterprise-network.md) |84| Cisco | Cisco-specific icons | `mxgraph.cisco.*` | [cisco-network.md](examples/cisco-network.md) |85| Wireless | WiFi network | `mxgraph.networks.*` | [wireless-network.md](examples/wireless-network.md) |86| Cloud Hybrid | On-premise + Cloud | `mxgraph.cisco.*` | [hybrid-cloud.md](examples/hybrid-cloud.md) |87| Citrix | Virtual Apps/Desktops | `mxgraph.citrix2.*` | [citrix-network.md](examples/citrix-network.md) |88| Security | Defence-in-depth | `mxgraph.cisco_safe.security_icons.*` | [security-architecture.md](examples/security-architecture.md) |89| Data Center | Spine-Leaf / UCS / SAN | `mxgraph.cisco19.*` | [datacenter-network.md](examples/datacenter-network.md) |