Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Cloud Architecture Diagram Maker & Generator

Draw your infrastructure, or let Terraform, Compose and Kubernetes files draw it for you.

Free preview, no sign-upIncluded in your pass Pro tool Pro pass: ₹179 / $5.99 for 30 days On this device: nothing is sent
+3 +1 more details No uploadWorks offline once opened Developer

Free preview: your diagram on this page, fully editable, under a MySmartCoPilot watermark, with the first 10 resources of a Compose, Kubernetes or Terraform file. Locked until you unlock it: download and copy.

Pro pass ₹179 for 30 days or ₹79 for 1 week, one‑time. Pro pass $5.99 for 30 days or $2.99 for 1 week, one‑time. How to unlock

Try before you buy.

  • Free preview: your diagram on this page, fully editable, under a MySmartCoPilot watermark, with the first 10 resources of a Compose, Kubernetes or Terraform file.
  • Locked until you unlock it: download and copy.
  • Unlock: Pro pass, ₹179 for 30 days or ₹79 for 1 week, a one-time payment that never renews. Unlock: Pro pass, $5.99 for 30 days or $2.99 for 1 week, a one-time payment that never renews.

Ways to unlock shows how to get the full result.

See passes (opens in a new tab)

Printing this result is locked in the free preview.

100%
Draw from code: diagram text, Docker Compose, Kubernetes or Terraform

Diagram text: one node per line as id: kind "Label", connections as a -> b : label (--> dashed, <-> both ways, -- no arrow), groups as group id network "Label" { … }. Terraform: save a plan (terraform plan -out=tfplan) and paste terraform show -json tfplan, or the current state’s terraform show -json. Nothing is uploaded.

It replaces the canvas; Undo brings your diagram back.

    Download and copy

    The draw.io file opens in diagrams.net with each node, group and connection editable; Mermaid pastes into Markdown on GitHub, GitLab and many wikis. Save file keeps the diagram to open here again.

    Next steps Done. What next?

    Start over

    A Pro pass unlocks the full result. See passes

    All developer tools

    About the Cloud Architecture Diagram Maker & Generator

    Draw the architecture of a system — users, DNS and CDN, load balancers and gateways, servers, containers, functions, queues, databases, caches, storage, secrets and monitoring — with 43 vendor-neutral kinds of nodes, and group them into accounts, regions, networks, public and private subnets, zones, clusters and namespaces. Connections curve from box to box with labels, dashes and arrowheads, and Arrange lays everything out in layers along the flow, group by group.

    Or let the code you already have draw it: paste a Docker Compose file, Kubernetes manifests or the JSON of terraform show -json (a saved plan or the current state), or write the diagram as a few lines of text. Services, workloads and resources become nodes with their kind guessed from images and resource types, networks, subnets and namespaces become groups, and what refers to what becomes the connections.

    Everything happens in your browser and your diagram is kept in it between visits. Without a pass the editor works in full as a free preview, with a MySmartCoPilot mark across the canvas, and a diagram drawn from Compose, Kubernetes or Terraform shows its first 10 resources; every resource, the SVG, PNG and PDF pictures, the draw.io file and the Mermaid and text copies unlock with a Pro pass.

    How to use it

    1. Start from a template (a three-tier web app, a serverless API, Kubernetes microservices, a data pipeline, a static site), from a blank canvas, or from code with From code.
    2. Add nodes and groups from the list: select one to place it in the middle of the view (inside the selected group), or drag it onto the canvas. Drop a node on a group to put it inside; a group grows to hold what it contains.
    3. Connect two items by dragging the + handle of a selected node onto the other, or turn on Connect and drag from one to the other. Edit labels, kinds, lines and arrowheads under Edit, and press Arrange for a tidy layout left to right or top to bottom.
    4. With a Pro pass, or once this diagram is unlocked, download it as SVG (light or dark), PNG or PDF, or as a draw.io file, or copy it as Mermaid or as diagram text; Save file keeps a project file to open here again at any time.

    Examples

    Diagram text
    Input
    users: users "Customers"
    lb: lb "Load balancer"
    group app subnet-private "Private subnet" {
      web: server "Web servers" "×3"
      db: sql "Orders DB"
    }
    users -> lb : HTTPS
    lb -> web
    web -> db : SQL
    Result
    Customers → Load balancer → Web servers → Orders DB, with the servers and the database in a dashed “Private subnet” frame and the connections labelled HTTPS and SQL.
    A Docker Compose file
    Input
    services:
      proxy: { image: nginx, ports: ["443:443"], depends_on: [web] }
      web: { build: ./web, environment: { DATABASE_URL: "postgres://db:5432/app" } }
      db: { image: postgres:16 }
    Result
    Clients → proxy (load balancer, port 443) → web (container) → db (SQL database): depends_on and the db address in DATABASE_URL become the connections.
    Terraform
    Input
    terraform plan -out=tfplan
    terraform show -json tfplan
    Result
    Each resource block is a node (×N for count and for_each), networks and subnets are frames around what they hold, and references between resources are the connections; attachments and listeners join the resources they link.

    Policies, rules and routes are left out unless you ask for them, so the picture shows the architecture rather than every setting.

    What it draws from code

    • Docker Compose: each service is a node, its kind read from the image (postgres, mysql and mariadb are SQL databases; redis a cache; rabbitmq and nats queues; kafka a stream; nginx, traefik and haproxy load balancers; elasticsearch search; minio object storage; prometheus and grafana monitoring …), with the image or build folder and the replica count as its second line. depends_on, links and other services’ names in environment variables (postgres://db:5432) are the connections; networks are frames; published ports get a Clients node; named volumes are disks.
    • Kubernetes: Deployments, StatefulSets, DaemonSets, Jobs, CronJobs and Pods are workloads; Services connect to the workloads their selectors match; Ingresses and Gateway API HTTPRoutes connect to their back-end services; ConfigMaps, Secrets and PersistentVolumeClaims connect to the workloads that mount or read them; namespaces are frames. Several documents (---) and List objects are read.
    • Terraform: the JSON of terraform show -json for a saved plan or for the state. Resource blocks become nodes (instances of count and for_each are counted, not repeated), their kind read from the resource type for the common providers’ compute, network, database, storage, messaging, security and monitoring resources. Networks and subnets become frames around what refers to them, references in the configuration (or, for a state, depends_on and attribute values that are another resource’s id) become connections, and attachments, listeners and target groups join the resources they link.
    • Diagram text: id: kind "Label" "second line" for a node, a -> b : label for a connection (--> dashed, <-> both ways, -- without an arrowhead), and group id kind "Label" { … } for a group; title: and direction: LR or TB set the title and the flow.

    Exports

    SVG is the sharpest for documents and slides, in light or dark, with the icons drawn in so it shows the same everywhere. PNG is the same picture at twice the size (smaller for very large diagrams, as browsers limit how big a picture can be), and PDF a page sized to the diagram. The draw.io file opens in diagrams.net (and its desktop and editor-plugin versions) with every node, group and connection still editable and the groups as containers. Mermaid is a flowchart with subgraphs for the groups, for Markdown on GitHub, GitLab and many wikis. Diagram text is the language above, to keep a diagram next to the code. Save file writes a project file that this page opens again, positions and all.

    Keyboard and screen readers

    Every node and group on the canvas can be reached with Tab: the arrow keys move the one in focus (Shift for bigger steps), Enter opens it under Edit, Delete removes it, and Escape goes back to the canvas, where the arrow keys pan, + and − zoom and 0 fits the diagram. Ctrl/⌘ + Z and Ctrl/⌘ + Shift + Z undo and redo. Outline lists every group, node and connection as a tree, and Edit holds every change as a form — label, kind, group, connections, line and arrowheads — so a diagram can be built and changed without a pointer.

    Sources

    Limitations

    • Kinds are guessed from images, resource types and object kinds; check them, and change any under Edit.
    • Terraform modules are read through the plan or state JSON; HCL files themselves are not read, so run terraform show -json first.
    • The PDF holds the diagram as a high-resolution picture; for a vector copy, use SVG.
    • Up to 1,500 nodes, 400 groups and 3,000 connections in one diagram.

    Privacy

    On this device: nothing is sent

    Your diagrams and files are read and drawn in your browser and never uploaded. The diagram on the canvas is kept in this browser for your next visit; Save file writes a copy you keep.

    Frequently asked questions

    What do I get without a pass?

    Without a pass, Cloud Architecture Diagram Maker & Generator shows your diagram on this page, fully editable, under a MySmartCoPilot watermark, with the first 10 resources of a Compose, Kubernetes or Terraform file. Until you unlock it, the result can’t be downloaded or copied. A Pro, Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.

    Are the icons a cloud provider’s?

    No: the icons are neutral (from the open Lucide set), so one diagram describes a system on any provider, a data centre or a laptop. The second line of each node holds what is specific — an instance size, an image, a resource type.

    How do I get the JSON from Terraform?

    For a plan: terraform plan -out=tfplan, then terraform show -json tfplan > plan.json. For what is deployed now: terraform show -json > state.json. Open the file here with From code. A plan carries the configuration’s references, so its connections are the most complete.

    Can I edit the diagram in draw.io or diagrams.net?

    Yes. The draw.io export keeps every node, group and connection as its own shape, with the groups as containers, so you can go on editing there.

    Is my diagram saved?

    The canvas is kept in this browser and comes back on your next visit. To move it to another browser or keep versions, use Save file and open the file again here.

    Quick answers and tool search

    Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.