Circom Circuit Analysis is the quick way to check a single Circom file. You paste or type the source into an in-page editor, run the analysis, and read the findings below — the fast path for catching soundness bugs before opening the full studio.
Why it exists
Circom circuits most often lose soundness through under-constrained signals and non-deterministic witnesses — a signal computed but never pinned down, so a prover can choose it freely. This page surfaces those specific checks as a single-file workflow, so you can validate a template or top-level circuit fast.
Who uses it
- Circuit author — checks a Circom template or top-level circuit.
- Auditor — reviews a specific file from a bug report.
How to open it
- From the Library → Circom Circuits.
- Direct URL —
/circom-analyze.
Using the page
Type or paste Circom source into the editor and run the analysis; findings populate underneath. Launch ZK Studio opens the source in the full multi-file workspace. The Supported Checks panel lists what runs against a Circom file:
| Severity | Check |
|---|---|
| Critical | Under-constrained signals |
| High | Non-deterministic witnesses |
| Medium | Unused public inputs |
| Low | Dead signals |
Limits
- Requires a signed-in account; analysis runs in the browser on the pasted source.
- Single-file only — multi-file projects need ZK Studio.
- The findings cover the checks above; a bug outside them may need the full studio analysis.
Related pages
- ZK Studio — the full IDE for Noir, Circom, Leo, and Cairo.
- Noir Circuit Analysis — the Noir equivalent.
- ZK Verifier Audit — audit the on-chain verifier for the circuit.