Skip to content
Weave templates

Network topology

Internet → firewall → router → switch → server pool; uses hexagons / parallelograms / cylinders properly.

Template previewWeave
Rendering…

Make it your own.

{
  "nodes": [
    { "id":"net","type":"ellipse","label":"Internet","x":40,"y":160,"fill":"#dbeafe","stroke":"#2563eb" },
    { "id":"fw","type":"hexagon","label":"Firewall","x":240,"y":160,"fill":"#fee2e2","stroke":"#b91c1c" },
    { "id":"rt","type":"parallelogram","label":"Router","x":440,"y":160,"fill":"#fed7aa","stroke":"#c2410c" },
    { "id":"sw","type":"parallelogram","label":"Core switch","x":640,"y":160,"fill":"#fed7aa","stroke":"#c2410c" },
    { "id":"s1","type":"rect","label":"App server 1","x":860,"y":40,"fill":"#ede9fe","stroke":"#6d28d9" },
    { "id":"s2","type":"rect","label":"App server 2","x":860,"y":160,"fill":"#ede9fe","stroke":"#6d28d9" },
    { "id":"s3","type":"rect","label":"App server 3","x":860,"y":280,"fill":"#ede9fe","stroke":"#6d28d9" },
    { "id":"db","type":"document","label":"DB cluster","x":1080,"y":160,"fill":"#fef3c7","stroke":"#a16207" },
    { "id":"mon","type":"triangle","label":"Monitor","x":440,"y":380,"fill":"#dcfce7","stroke":"#15803d" }
  ],
  "edges": [
    { "id":"e1","source":"net","target":"fw" },
    { "id":"e2","source":"fw","target":"rt" },
    { "id":"e3","source":"rt","target":"sw" },
    { "id":"e4","source":"sw","target":"s1" },
    { "id":"e5","source":"sw","target":"s2" },
    { "id":"e6","source":"sw","target":"s3" },
    { "id":"e7","source":"s1","target":"db" },
    { "id":"e8","source":"s2","target":"db" },
    { "id":"e9","source":"s3","target":"db" },
    { "id":"e10","source":"mon","target":"sw","label":"SNMP" }
  ]
}