System Design Simulator
The System Design Simulator turns a box-and-arrow design into a running model. Add clients, a CDN, load balancers, services, caches, databases with replicas, queues, workers, object storage and external APIs, set their capacity, connect them, and send traffic through it. Every component heats up as it gets busier, backlogs build when it can’t keep up, and you see throughput, p50/p95/p99 latency and errors second by second.
Features
- 11 components: clients, CDN, load balancer, API gateway, service, cache, database (primary + read replicas), queue, workers, object storage and external API
- Capacity settings: instances, requests per second per instance, latency, cache hit rate, write share, connection limits, rate limits and timeouts
- Traffic patterns: steady, ramp up, spike and a daily wave; play, pause, change speed and scrub through the run
- Live heat on every component, backlog bars on queues and requests flowing along the connections
- Throughput, p50, p95 and p99 latency and error rate over time, plus each component’s load and backlog
- Capacity finder: the most traffic the design handles within your latency and error goals, and the component that gives out first
- Failure timeline: kill instances, take a component or a region down, add latency or errors, cut a connection
- Resilience: autoscaling, retries with exponential backoff, call timeouts, circuit breakers, rate limits and load shedding; watch retry storms and cascading failures happen
- Cost: price per instance-hour or per million requests, monthly cost, cost per million requests and a breakdown by component
- What-if sliders for traffic, instances, speed, latency and cache hit rate, and a "what to upgrade" view that doubles each component and shows the traffic it buys per dollar
- Compare designs side by side: latency, errors, max load, bottleneck and cost
- Back-of-the-envelope estimator: QPS, peak, storage, bandwidth, cache and servers from daily users, with the working shown
- Interview mode: URL shortener, news feed, chat and flash-sale checkout prompts with facts, goals, a 45-minute timer, a live checklist and a graded report
- Import Architecture Builder diagrams, link components to API Studio requests and use their measured latency
- Share links, HTML run reports, PNG/SVG images and a full-screen present mode with captions
- Regions: calls between regions pay a round trip based on distance; clients in several regions
- Sharding with hot keys, and synchronous or asynchronous replication with replica lag and stale reads
- 3D city view: buildings per component, roads and cars for traffic, islands per region, glowing with load
- Templates: URL shortener, news feed, chat app, e-commerce checkout and a cascading-failure lab; designs are saved in your browser
How to use it
- Start from a template or a blank canvas and add components from the palette.
- Set each component’s capacity and connect them; set the traffic pattern.
- Press Run and watch the heat, the backlogs and the latency chart, or find the maximum load.
FAQ
How accurate is it?
It is a model, not a load test: each component is a queue whose wait time follows queueing theory (M/M/c), backlogs build when traffic exceeds capacity and requests time out after their timeout. That captures saturation, tail latency and where a design breaks, which is what system design questions are about. Measure the real system for exact numbers.
Can it simulate failures?
Yes. Add failures to a timeline (kill instances, take a component or a whole region down, slow it down, make it fail, or cut a connection) and run. Autoscaling replaces lost instances, retries add load to whatever is struggling, circuit breakers open and close, and a log explains every step, so you can see why a small slowdown becomes an outage and which setting stops it.
Does it estimate cloud cost?
Yes, roughly. Each component has an hourly price per instance or a price per million requests (defaults are typical on-demand cloud list prices, and you can change them). You get the monthly cost, the cost per million requests, a breakdown by component, and which upgrade buys the most capacity per dollar.
Is this useful for system design interviews?
Yes. Interview mode gives you a prompt with facts and goals and a 45-minute timer. Estimate the traffic with the calculator, build the design you would draw on a whiteboard, then grade it: it runs at the traffic the facts imply, checks it holds the peak and survives a failure within budget, and gives you a scored report.
Is my design uploaded?
No. The simulation runs in your browser, designs are saved in this browser only, and it works offline. A share link carries the design inside the link itself, after the #, which browsers never send to a server.
Does it model multi-region latency and replication?
Yes. Give each component a region and calls between regions add a network round trip estimated from the distance (for example about 80 ms from us-east to eu-west). Databases can be sharded with a hot-key share, and replicas can be synchronous (writes wait for them) or asynchronous (they lag behind under write load, and the simulator shows the lag and the share of stale reads).
Can I simulate a diagram I already drew?
Yes. Choose New → From the Architecture Builder and pick a diagram: load balancers, services, caches, databases and queues are recognised by their icon and name and connected as drawn. Then set their capacities and run it.
More developer tools
API Studio
Build, test and automate HTTP requests right in your browser.
- API Studio: Build, test and automate HTTP requests: collections, environments, tests and a runner.
Diagrams
Draw cloud architectures and watch the data flow.
- Architecture Builder: Draw cloud architectures and data flows with AWS, Azure, GCP and 1,000+ components.
CI/CD
See, edit and check your CI/CD pipelines.
- Pipeline Studio: See and edit your Bitbucket pipelines as a metro map, with checks for mistakes Bitbucket would reject.
Data
Query, browse and edit data files and SQLite databases.
- Database Studio: Query, browse and edit CSV, Excel, Parquet and SQLite files with SQL, right in your browser. Nothing is uploaded.
System Design
Simulate traffic through a system design and find its limits.
- System Design Simulator: Design a system, send it traffic and watch where it melts: latency, errors and the bottleneck.
Team Knowledge
Every error your team has hit, and how it was fixed.
- Error Memory: Search every error your team has hit and how it was fixed; log new ones with their fix.
Formatters & Beautifiers
Make messy payloads, queries and markup readable.
- JSON & Log Formatter: Repair, beautify and deep-decode JSON, Python dicts and log lines.
- SQL Formatter: Pretty-print queries for 12 SQL dialects.
- XML / HTML Beautifier: Beautify or minify HTML and XML, with validation.
- JSON Diff: Compare two payloads side by side or as a change list.
- SQL Diff: Compare queries, scripts or schemas as SQL, with schema changes and the migration.
- JQ / JSONPath: Filter JSON with jq or JSONPath expressions.
Encoders & Decoders
Look inside tokens, encodings and escaped text.
- JWT Debugger: Decode tokens, check expiry and verify HMAC signatures.
- Base64 / Hex / Binary: Convert text and files between Base64, hex and binary.
- URL / Query Parser: Split, edit and rebuild URLs and query strings.
- HTML & Unicode Entities: Encode and decode HTML entities and Unicode escapes.
Generators
IDs, hashes, keys, placeholder text and typed code.
- UUID / ULID / Hash: Generate UUIDs and ULIDs; hash text or files.
- Lorem Ipsum: Placeholder paragraphs, sentences or words.
- RSA / EC Key Pair: RSA and EC key pairs as PEM or JWK, via WebCrypto.
- Schema & Code Generator: Turn sample JSON into TypeScript, Zod, Go, Rust, SQL and more.
Converters
Move data between formats, times and color spaces.
- Unix Timestamp ↔ Date: Convert Unix timestamps to dates and back.
- Color Converter: HEX, RGB, HSL and OKLCH with WCAG contrast checks.
- Cron Parser: Explain cron expressions and list upcoming runs.
- Format Converter: Convert between JSON, YAML, TOML, XML and CSV.
API & Debugging
Reproduce requests, read errors and sanitise logs.
- Log → cURL: Rebuild a runnable cURL from logs, HAR or fetch calls.
- HTTP Status Codes: Status codes with causes and fixes.
- Payload Redactor: Strip secrets and personal data before you share.
- Regex Tester: Test patterns live and explain them token by token.