QuirkCircuit builders & visualizers
DormantOpen sourceFree to useApache-2.0
Browser-based drag-and-drop circuit editor that simulates up to 16 qubits and animates amplitudes, Bloch vectors and measurement probabilities as you edit. Nothing to install — the whole tool is one page.
Use it when
Reach for it when you want to see what a gate actually does to a state before you write any code.
Background: quantum circuits
Closed sourceFree to useProprietary (free with an IBM Quantum account)
IBM's graphical circuit builder: drag gates onto a staff, watch the q-sphere and probability histogram update, then run the circuit on real IBM hardware and export it as OpenQASM or Python.
Use it when
Use it when you want a circuit you drew by hand to run on an actual QPU without setting up a local environment.
BlochyCircuit builders & visualizers
MaintainedOpen sourceFree to useMIT
Interactive single-qubit Bloch sphere simulator in the browser. Apply Pauli, Hadamard and phase gates or arbitrary axis rotations and pulse sequences, then export a publication-quality figure.
Use it when
Reach for it when you are teaching or debugging single-qubit rotations and need a picture rather than a state vector.
Background: the Bloch sphere
Open sourceFree to useApache-2.0
The plotting layer inside the Qiskit SDK. `circuit_drawer()` renders circuits as text, Matplotlib or LaTeX, and state helpers such as `plot_bloch_multivector` and `plot_state_city` visualize the resulting quantum state.
Use it when
Use it whenever a circuit is misbehaving and you want to see what the transpiler actually produced, not what you thought you wrote.
Background: quantum circuits
Open sourceFree to useApache-2.0
Quantinuum's retargetable quantum compiler — a C++ core with `pytket` Python bindings — that optimizes gate counts, routes circuits onto a device's qubit connectivity and emits code for many QPUs and simulators.
Use it when
Reach for it when your SDK's built-in transpiler is leaving too many two-qubit gates in the circuit and depth is what is killing your results.
Background: transpilation
Open sourceFree to useBSD-style LBNL license
Berkeley Lab's compiler and synthesis framework. Rather than only rewriting gates, it partitions a circuit into blocks and numerically re-synthesizes each one from its unitary, often producing far shorter circuits than rule-based passes.
Use it when
Use it when you have a small-to-medium circuit that matters enough to spend real compute time shrinking.
Background: transpilation
staqCompilers & transpilers
MaintainedOpen sourceFree to useMIT
A header-only C++ library and set of command-line tools that parse, optimize and device-map OpenQASM 2.0 circuits by manipulating the syntax tree directly. Fast, dependency-light and scriptable.
Use it when
Reach for it when you want circuit optimization inside a build pipeline or a C++ program rather than a Python notebook.
MitiqError mitigation & QEC
ActiveOpen sourceFree to useGPL-3.0
The Unitary Foundation's framework-agnostic error-mitigation toolkit, implementing zero-noise extrapolation, probabilistic error cancellation, dynamical decoupling and more. It wraps circuits from Qiskit, Cirq, Braket, PennyLane, Qibo and raw OpenQASM 3.
Use it when
Use it when results from real hardware are systematically off and you want a principled correction instead of averaging harder.
Background: a practical guide to error mitigation
StimError mitigation & QEC
ActiveOpen sourceFree to useApache-2.0
Google Quantum AI's stabilizer-circuit simulator, fast enough to sample error-correction experiments with thousands of qubits and millions of operations. It also emits the detector error model that decoders consume.
Use it when
Reach for it the moment you start simulating a surface code — general state-vector simulators cannot reach these sizes.
Background: why decoding is the fault-tolerance bottleneck
Open sourceFree to useApache-2.0
A minimum-weight perfect matching decoder ('sparse blossom') for surface codes and other QEC codes, written in C++ with a Python API and designed to take Stim's detector error models directly.
Use it when
Use it when you have syndrome data from Stim or hardware and need to turn it into an actual correction, quickly.
Background: why decoding is the fault-tolerance bottleneck
Open sourceFree to useApache-2.0
A Qiskit-community framework for error-correction research — code construction, noisy circuit generation and decoders such as union-find. Listed for completeness, but the repository has seen no meaningful commits since early 2025.
Use it when
Only worth reading as reference code; for working QEC tooling today, Stim plus PyMatching is the maintained path.
Background: logical qubits and fault tolerance explained
qsimHigh-performance simulators
ActiveOpen sourceFree to useApache-2.0
Google's optimized state-vector simulator, using gate fusion, AVX/FMA vectorization, multithreading and optional GPU offload. It plugs into Cirq through the `qsimcirq` package.
Use it when
Reach for it when Cirq's built-in simulator has become the bottleneck and you need another handful of qubits.
Background: the best free quantum simulators
Closed sourceFree to useProprietary (free to use); Python bindings are BSD-3-Clause
GPU-accelerated simulation libraries — cuStateVec, cuTensorNet and cuDensityMat — that other frameworks call under the hood. Qiskit Aer, qsim, PennyLane and CUDA-Q all have cuQuantum backends. The core libraries are free but proprietary; only the Python bindings and samples are open source.
Use it when
Use it when you have GPUs available and the simulation, not the algorithm, is what you are waiting on.
Background: quantum simulators compared
QuESTHigh-performance simulators
ActiveOpen sourceFree to useMIT
A C/C++ simulator of state vectors and density matrices that is multithreaded, MPI-distributed and GPU-accelerated from the same source, so the same program scales from a laptop to a supercomputer.
Use it when
Reach for it when your simulation needs to run across cluster nodes rather than on one machine.
Background: quantum simulators compared
Open sourceFree to useApache-2.0
Qiskit's C++ simulator backend, offering state-vector, density-matrix, stabilizer and matrix-product-state methods plus realistic device noise models. Its README now states the project is under reduced maintenance, taking critical fixes only.
Use it when
Use it to reproduce a specific device's noise before you spend real QPU time — but note the reduced-maintenance status when planning long-lived work.
Background: the best free quantum simulators
MetriqBenchmarking & characterization
ActiveOpen sourceFree to useApache-2.0 (data CC BY 4.0)
A community platform from the Unitary Foundation that collects and publishes quantum device performance results, with `metriq-gym` as the runnable benchmark suite behind it. The platform is explicitly still in beta.
Use it when
Reach for it when a vendor claim needs a second opinion from results somebody else can reproduce.
Background: why quantum benchmarking became policy
Open sourceFree to useApache-2.0
Infleqtion's scalable, application-oriented benchmark suite — GHZ, Mermin-Bell, QAOA, VQE, phase estimation and more — measuring devices on realistic workloads rather than isolated gate fidelities. It ships inside the `client-superstaq` monorepo.
Use it when
Use it when you need device numbers that reflect the kind of circuit you actually intend to run.
Background: why quantum benchmarking became policy
Open sourceFree to useApache-2.0
The Quantum Economic Development Consortium's benchmark programs — Bernstein-Vazirani, QFT, Grover, VQE, QAOA, HHL, Hamiltonian simulation — measuring result quality and execution time across Qiskit, Cirq and Braket backends.
Use it when
Reach for it when you want a vendor-neutral, cross-platform comparison you can rerun yourself.
Background: why quantum benchmarking became policy
pyGSTiBenchmarking & characterization
ActiveOpen sourceFree to useApache-2.0
Sandia National Laboratories' toolkit for characterizing noisy processors. Its flagship protocol is gate set tomography, alongside randomized benchmarking and robust phase estimation, with recent work on leakage-aware models.
Use it when
Use it when you need to know precisely how a device's gates are wrong, not just how often results are.
Background: quantum volume
OpenQASM 3Languages & intermediate representations
ActiveOpen sourceFree to useApache-2.0
The de facto interchange language for quantum circuits. Version 3 adds classical control flow, timing and pulse-level constructs, and is now governed by an independent technical steering committee rather than a single vendor.
Use it when
Reach for it when a circuit has to move between two toolchains that share nothing else.
Open sourceFree to useMIT
An LLVM-IR-based representation for quantum programs, letting front ends such as Q# and Qiskit target many backends through one compiler layer. The alliance also ships `qir-runner`, a Rust sparse-state simulator, and PyQIR for generating QIR from Python.
Use it when
Use it when you are building the toolchain rather than the algorithm — a compiler, a backend, or anything that has to consume programs it did not author.
Open sourceFree to useMIT
Microsoft's standalone quantum language and toolchain: compiler, standard library, local simulators with noise, Jupyter kernel and the resource estimator. Q# treats qubits as a managed resource with explicit classical/quantum separation rather than as a Python library.
Use it when
Reach for it when you want a real type-checked language and a debugger rather than building circuits by appending to a list.
SilqLanguages & intermediate representations
ActiveOpen sourceFree to useBSL-1.0
An ETH Zurich research language whose headline feature is automatic uncomputation: temporary values are safely discarded by the type system, so you write far less bookkeeping than in circuit-level languages. It ships a type checker, compiler and interpreter.
Use it when
Worth a look when you want to see where high-level quantum language design is heading — it is a research project, not a production toolchain.
Open sourceFree to useMIT
The most complete quantum editor experience available: IntelliSense and debugging for Q# and OpenQASM, local noisy simulators, circuit visualization, resource estimation and job submission — all inside VS Code, with a browser version at vscode.dev.
Use it when
Use it when you want to step through quantum code in a debugger instead of inferring what happened from printed counts.
Open sourceFree to useApache-2.0
A Google Quantum AI library for expressing fault-tolerant algorithms as composable 'bloqs' and costing them out in qubits, T gates and magic states. Maintained by Google but self-described as an experimental preview.
Use it when
Reach for it when the question is not 'does my algorithm work' but 'how large a fault-tolerant machine would it actually need'.
Background: logical qubits and fault tolerance explained
Open sourceFree to useMIT (local implementation in the QDK)
Estimates the physical qubit count, runtime and error-correction overhead a program would require under configurable qubit and QEC-code assumptions. It runs locally in VS Code with no Azure account, and is free in every access path.
Use it when
Use it when you need a defensible number for how far away a fault-tolerant version of your workload is.
Background: what a logical qubit costs
QuTiPPhysics & domain frameworks
ActiveOpen sourceFree to useBSD-3-Clause
The standard Python library for simulating the dynamics of open and closed quantum systems — Lindblad master equations, Monte Carlo trajectories, time-dependent Hamiltonians — rather than idealized gate circuits.
Use it when
Reach for it when you care about the physics underneath the gates: decoherence, pulse shapes, or a Hamiltonian that never becomes a circuit.
QiboPhysics & domain frameworks
ActiveOpen sourceFree to useApache-2.0
A full-stack open framework covering circuit definition, hardware-agnostic CPU/GPU/multi-GPU backends and a built-in algorithm library — plus sibling projects Qibolab and Qibocal that drive and calibrate real control electronics.
Use it when
Use it when you are working on the hardware side and need one stack that spans algorithms down to pulse-level calibration.
Background: free quantum hardware access
Open sourceFree to useMIT
Quandela's framework for photonic quantum computing: linear-optics circuit construction, single-photon source error models, Fock-state manipulation, simulation backends and job submission to Quandela's cloud.
Use it when
Reach for it when your problem is photonic — gate-model SDKs assume a qubit model that does not describe linear optics well.
Background: free quantum hardware access