# \[ANN\] Quantikz.jl v1 for drawing circuits (including in-browser demos)

**URL:** <https://discourse.julialang.org/t/ann-quantikz-jl-v1-for-drawing-circuits-including-in-browser-demos/59911>\
**Category:** Quantum\
**Tags:** plotting, webapps, latex, genie, quantum-circuits\
**Created:** [April 24, 2021, 1:55am UTC](https://discourse.julialang.org/t/ann-quantikz-jl-v1-for-drawing-circuits-including-in-browser-demos/59911 "2021-04-24T01:55:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Krastanov](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/krastanov/32/6817_2.png) [@Krastanov](https://discourse.julialang.org/u/Krastanov)\
**Post date:** [April 24, 2021, 1:55am UTC](https://discourse.julialang.org/t/ann-quantikz-jl-v1-for-drawing-circuits-including-in-browser-demos/59911/1 "2021-04-24T01:55:32Z")

</div>

Demo at [quantikz.krastanov.org](https://quantikz.krastanov.org/). Library at [github.com/Krastanov/Quantikz](https://github.com/Krastanov/Quantikz).

Quantikz.jl now supports qubits, ancillas, classical bits, and arbitrary gates and measurements, conditional or not on both qubits and classical bits. It can generate png, pdf, or tex files. It does not require anything to be preinstalled on your computer (it depends on Tectonic.jl and GhostScript.jl for rendering TeX, which are automatically installed).

I decided to play with the Genie.jl web framework and make a humble online demo, which was surprisingly easy. You see the demo at [quantikz.krastanov.org](https://quantikz.krastanov.org/) (rather slow as it runs on a pretty small server).

This drawing library is already used by [QuantumClifford.jl](https://github.com/Krastanov/QuantumClifford.jl). The drawing library is not blazingly fast, as it uses TeX.

Here is an example:

```julia
[
    CNOT(1,2), CPHASE(2,3), SWAP(3,4),
    H(5), P(6), Id(7),
    U("\\frac{\\phi}{4}",8),
    Measurement("X",1),
    Measurement([2,3],2),
    ClassicalDecision("U",[3,5],2),
    Measurement("M",[5,6],1),
    MultiControlU("G",[2,8],[7,3],[4,5,6])]

```

 ![image](https://global.discourse-cdn.com/julialang/original/3X/6/d/6db6f9938bf844676ec9fb1a749eb5ed7622003f.png)
