Welcome to the Munich Quantum Toolkit Benchmark Library (MQT Bench)!

Quantum software tools for a wide variety of design tasks on and across different levels of abstraction are crucial for eventually realizing useful quantum applications. This requires practical and relevant benchmarks in order for new software tools or design automation methods to be empirically evaluated and compared to the current state of the art. Since these tools and methods operate on and across different levels of abstraction, it is beneficial having benchmarks consistently available across those levels. The MQT Benchmark Library (MQT Bench) provides a single benchmark suite which offers the same benchmark algorithms on different levels of abstractions. At the moment, MQT Bench comprises around 50,000 benchmark circuits ranging from 2 up to 130 qubits on four abstraction levels.

In order to create a benchmark set according to your needs, simply fill out the form below.

Benchmark Selection

Please select the desired benchmarks from the set of all available ones or select all (). For details, see the benchmark description.

Scalable Benchmarks:

The number of qubits for the following benchmarks is adjustable.

Amplitude Estimation (AE)
Graph State
GHZ State
Grover's (no ancilla)
Grover's (v-chain)
Portfolio Optimization with QAOA
Portfolio Optimization with VQE
Quantum Approximation Optimization Algorithm (QAOA)
Quantum Fourier Transformation (QFT)
QFT Entangled
Quantum Generative Adversarial Network
Quantum Phase Estimation (QPE) exact
Quantum Phase Estimation (QPE) inexact
Quantum Walk (no ancilla)
Quantum Walk (v-chain)
Variational Quantum Eigensolver (VQE)
Efficient SU2 ansatz with Random Parameters
Real Amplitudes ansatz with Random Parameters
Two Local ansatz with Random Parameters
Qubit Range

Select the desired qubit range for the scalable benchmarks.

Non-Scalable Benchmarks:

The number of qubits for the following benchmarks is fixed.

Ground State
Pricing Call Option
Pricing Put Option
Travelling Salesman

Abstraction Level Selection

Next, abstraction levels for the selected benchmarks must be chosen. There are four available levels ranging from a rather high level description on the algorithm level towards a rath lower level description on the target-dependent: mapped level. For details, see the level description.

Algorithm Level

Currently, only available using the Python package. Details can be found on our GitHub page.

Target-independent Level

Select the used compiler:

Target-dependent: Native-Gates Level

Select targeted native gate-set:

Select the used compiler:

If Qiskit is selected, select its optimization level:

Target-dependent: Mapped Level

Select a targeted device:

Select the used compiler:

If Qiskit is selected, select its optimization level:

If TKET is selected, select its placement settings:


Number of selected benchmarks:  
After the download button is clicked, all benchmarks provided as .qasm files are downloaded as a .zip archive. Details of the file format are provided. Alternatively, a pre-generated archive with all benchmarks can be downloaded.


For a more detailed description of MQT Bench, we are referring to the corresponding paper "MQT Bench: Benchmarking Software and Design Automation Tools for Quantum Computing". Our implementation is available on Github. In case you are using MQT Bench in your work, we would be thankful if you referred to it by citing the following publication:

  title={{{MQT Bench}}: Benchmarking Software and Design Automation Tools for Quantum Computing},
  shorttitle = {{{MQT Bench}}},
  author={Quetschlich, Nils and Burgholzer, Lukas and Wille, Robert},
  eprint = {2204.13719},
  eprinttype = {arxiv},
  publisher = {arXiv},
  note={{{MQT Bench}} is available at \url{https://www.cda.cit.tum.de/mqtbench/}},

In case you have any problems or questions feel free to contact us via quantum.cda@xcit.tum.de. More on our work on quantum computation is summarized on this page.