Type, paste, or edit your circuit here. Then tap “Apply” to generate an interactive circuit diagram and other output formats below. You can learn more about Q’s plain text format in “Writing quantum circuits.”

Result probabilities

Circuit as ASCII diagram

This can be particularly helpful within the JavaScript console when you need to double check the composition of a circuit in a way that’s more illustrative than simple plain text.

Circuit as LaTeX code

This code can be used within LaTeX with the QCircuit library to create circuit diagrams. Note that ctrl{} commands do not yet contain valid index values. Check back in May 2020.

Circuit as plain text

If all’s gone well then copying this and pasting this code in to the original text input box should have no effect on the maths.

Sample circuits

This page previously contained the following pre-loaded sample circuits for experimenting with. Their plain text representations are included here for reference. (You can copy and paste their text in to the input field at the top of the page to load them.)

Bell state

Here’s a Bell state (which produces quantum entanglement), but with Pauli X operations added to both registers as a finale—so the only two possible results are 00 and 11; all or nothing!

H X#0 X
I X#1 X

Deutsch oracle

which The Deutsch–Jozsa algorithm is a deterministic quantum algorithm proposed by David Deutsch and Richard Jozsa in 1992 with improvements by Richard Cleve, Artur Ekert, Chiara Macchiavello, and Michele Mosca in 1998.[1][2] Although of little practical use, it is one of the first examples of a quantum algorithm that is exponentially faster than any possible deterministic classical algorithm and is the inspiration for Simon's Algorithm, which is, in turn, the inspiration for Shor's Algorithm. [Wikipedia]



This monster demonstrates some overlapping multi-register operations and an “upside-down CNOT” finale. Notice too how in the diagram version the boxes within each column (moment) are equal widths and there’s an attempt to center the text labels within their boxes. Also note how the overlapping connectors are dealt with, eh? Of course this circuit would make little sense in the real world. It’s here purely to test different aspects of rendering a circuit visually.

H  X.0#0  Y    Z    X#1
H  X.1#0  X#0  I    X#0
H  X.0#1  Y    X#0  S
H  X      X#1  X#1  I
H  X.1#1  Y    Z    S