System design diagram tool

Create system design diagrams

  • Drag in load balancers, caches, queues and databases
  • Connect them and say why each part is there
  • Run traffic through it and watch latency, errors and cost
  • Free, in your browser, no sign-up

Start a diagram Start from a real design

How to make a system design diagram

  1. Start with who calls it

    Add the clients first: web app, mobile app, IoT devices or a partner API. They decide how much traffic arrives and which endpoints it hits.

  2. Add the parts in between

    Search the palette or drag a part onto the canvas: DNS, CDN, load balancer, API gateway, services, Redis, PostgreSQL, Kafka-style streams, object storage and more.

  3. Connect them

    Draw a wire from one part to the next. Connections follow real rules, so a mobile app can reach a load balancer but not your database directly.

  4. Say why each part is there

    Every part has a short “why”. Writing it is how you check the design makes sense, and it is what an interviewer asks about.

  5. Run traffic through it

    Press play and turn up the requests per second. Latency (p50, p95, p99), errors and monthly cost update live, and the bottleneck glows red.

  6. Present it or take it with you

    Walk through it one part at a time in presentation mode, download a Markdown design doc or the JSON file, copy it as a prompt for ChatGPT or Claude, or publish a link.

55 parts to drag in

Clients

  • Web app
  • Mobile app
  • Users (web + mobile)
  • Desktop app
  • IoT devices
  • Partner / API consumer

Edge & network

  • DNS
  • CDN
  • Load balancer (L7)
  • Network load balancer (L4)
  • API gateway
  • Reverse proxy
  • WAF / firewall
  • VPN gateway

Compute

  • Application server
  • Microservice
  • Web server
  • BFF / GraphQL server
  • Auth service
  • Rate limiter
  • Worker / consumer
  • Serverless function
  • WebSocket server
  • Scheduler / cron
  • Notification service
  • Search service
  • ML inference service

Relational data

  • PostgreSQL
  • MySQL
  • Aurora / managed SQL
  • Data warehouse
  • Time-series DB

NoSQL & search

  • Key-value store
  • Document DB
  • Wide-column store
  • Graph DB
  • Search index
  • Vector DB

Cache

  • Redis
  • Memcached

Messaging

  • Message queue
  • Event stream
  • Pub/Sub topic

Storage

  • Object storage
  • Data lake

Observability & ops

  • Logging
  • Metrics & monitoring
  • Tracing
  • Config / service discovery
  • Secrets manager

External

  • Payment provider
  • Push gateway (APNs / FCM)
  • Email / SMS provider
  • LLM API
  • Third-party API

Or start from a real design

  • URL shortener (scaled): Replicated cache at 97% hits and a Multi-AZ primary; survives losing an API instance.
  • Chat app: Realtime messaging with WebSockets, presence in Redis and messages in a wide-column store.
  • News feed: Timeline with fan-out on write, a per-user feed cache and media on a CDN.
  • Rate limiter: Token buckets in Redis checked at the gateway, so no single client can overwhelm the API.
  • Ride hailing: Uber-style matching over an in-memory hexagon index of drivers, with surge pricing from the location stream.
  • Payment system with ledger: Idempotent payments API, processor routing and an append-only double-entry ledger.

Questions

Is it free?
Yes. You can build, simulate and download diagrams without an account. Designs are saved in your browser. Log in only to publish a design and share a link to it.
Can I start from an existing design?
Yes. Open any of the real designs, such as a URL shortener, chat app or ride hailing, and your first edit makes your own copy.
Is it good for system design interview practice?
That is what it is built for. Many designs are tagged with the companies that ask them, and saying why each part exists is the part interviews test.
How accurate is the simulation?
The numbers are estimates from simple queueing models and public cloud list prices. They are good for comparing trade-offs, not for capacity planning in production.
Can I export an image?
Not yet. You can download a Markdown design doc or a JSON file, copy the design as an AI prompt, or share a link.