OpenQASM 3 Implementations
June 24, 2026 ยท View on GitHub
Listed here are publicly available tools that implement or support OpenQASM 3. Many projects are not yet listed here. The descriptions of projects that are listed may be incomplete. If you know of a software project that supports OpenQASM 3 but is not listed here, or if you have corrections, please open an issue.
Feature Comparison
- function
- parser -- typically means that semantic analysis is not supported.
- front end -- some semantic analysis or compilation is done. Examples of semantic analysis are type checking and constant folding.
- status
- incomplete This sometimes means WIP and sometimes that not all of OQ3 is supported.
| Name | API language | impl language | function | status | license |
|---|---|---|---|---|---|
| Reference parser | Python | Python | front-end | complete | OSS |
| openqasm3_parser | Rust | Rust | front-end | WIP | OSS |
| Quasar | Julia | Julia | parser | WIP | OSS |
| qasm3tools | CLI | C++ | unknown | unknown | OSS |
| Amazon Braket | Python | web service | incomplete | ||
| LabOne Q | Python | Rust/Python | SDK | incomplete | OSS |
| Munich Quantum Toolkit (MQT) | Python | C++ | import / export | OSS | |
| Qiskit | Python | Rust/Python | SDK | incomplete | OSS |
| js-quantum | Javascript | Javascript/TS | SDK | complete | OSS |
| Feynman | Haskell | Haskell | front end | unknown | OSS |
| AutoQASM | Python | Python | circuit construction | incomplete | OSS |
| OQpy | Python | Python | circuit construction | complete | OSS |
| MATLAB Support Package for Quantum Computing | MATLAB | MATLAB | circuit construction | unknown | unknown |
Reference parser
Meant to completely implement the OpenQASM 3 spec. It does no semantic analysis. It is relatively slow. It is based on ANTLR.
openqasm3_parser
Compiler front end for OpenQASM 3. Lexing, parsing, and semantic analysis.
Quasar
The Qu(antum) as(sembly) (lex/pars)er Compiler front end for OpenQASM 3. Lexing, parsing, and semantic analysis.
qasm3tools
Unknown
Amazon Braket
Cloud quantum computing service
LabOne Q
SDK and front end for performing experiments on the Zurich Instruments QCCS together with third party control hardware. github.
Munich Quantum Toolkit (MQT)
Qiskit
Quantum software development kit (SDK)
js-quantum
js-quantum is a self-contained TypeScript quantum SDK for building, simulating, and serializing quantum circuits, with real state-vector simulation and Born-rule measurement sampling. Its main advantages are a clean declarative API, zero native or WebAssembly dependencies, and broad runtime compatibility across browsers, Node.js, Deno, Bun, and Cloudflare Workers.
Feynman
Toolkit for quantum circuit analysis in the path integral model of quantum mechanics. The OpenQASM 3 frontend is here.
AutoQASM
Although it is still a work in progress, the intent is that AutoQASM will support any quantum programming paradigm which falls into the OpenQASM 3.0 language scope. AutoQASM supports serializing quantum programs to OpenQASM, which allows the programs to interoperate with any library or service that supports OpenQASM programs, such as Amazon Braket.
AutoQASM is pure Python but includes dependencies with statically compiled extensions.
OQpy
The goal of oqpy ("ock-pie") is to make it easy to generate OpenQASM 3 + OpenPulse in Python.
Support is marked "complete" because OQpy depends on the reference parser.
MATLAB
The MATLAB Support Package for Quantum Computing has a function for exporting to OpenQASM 3. We don't know if it can import OpenQASM 3
gopenqasm
Golang parser for OpenQASM 3 based on the reference grammar.
Microsoft QDK
A full development kit that supports OpenQASM 3 and features a Visual Studio Code extension for OpenQASM 3 syntax.
OpenQASM 2 Implementations
circuit construction
compilation and synthesis
- PyZX
- Tweedledum - No longer maintained
- QasmTrans