02 — Framework · Framework

Noir

Circuit DSL (backend-agnostic)

In one paragraph

Noir: Circuit DSL (backend-agnostic). Kind: Circuit DSL. Arithmetisation / backend: ACIR → Barretenberg (UltraHonk). Setup: Yes (universal). Maintained by: Aztec. Licence: Apache-2.0 / MIT. Status: Late beta, pre-1.0 (1.0.0-beta series through 2026). Choose it when: New application circuits where developer velocity and client-side proving matter, and teams uncomfortable with manual constraint discipline.

Kind
Circuit DSL
Arithmetisation / backend
ACIR → Barretenberg (UltraHonk)
Setup
Yes (universal)
Maintained by
Aztec
Licence
Apache-2.0 / MIT
Status
Late beta, pre-1.0 (1.0.0-beta series through 2026)
Selection matrix · see the row in context

What it is

A Rust-like DSL that compiles to ACIR, an intermediate representation intended to be consumed by several proving backends. The compiler emits constraints for you, removing the manual assign-versus-constrain bug class. Browser and WASM proving are first-class targets.

Strengths and tradeoffs

Strengths
  • Substantially better ergonomics than lower-level DSLs, and the compiler emits constraints rather than the developer
  • Backend-agnostic by design, keeping a future migration architecturally open
  • Client-side and browser proving are supported paths, not afterthoughts
Tradeoffs
  • Still formally pre-1.0 after several years of beta, with routine breaking changes between betas — a real cost for long-lived audited code
  • In practice one backend — Barretenberg — is the maintained one, so diligence it as carefully as the language itself; treat backend-agnosticism as architectural rather than operational unless you validate an alternative yourself
  • Smaller auditor pool and thinner static-analysis tooling than Circom

Choose it whenNew application circuits where developer velocity and client-side proving matter, and teams uncomfortable with manual constraint discipline.

Sources cited on this page · 2

  1. Noir — backend-agnostic circuit DSLproject
  2. Barretenberg — the maintained Noir proving backendproject
Cite this page
MarketComp (2026). Noir. The ZK Field Manual (Version 1.3). MarketComp. https://zkpick.com/frameworks/noir/
@misc{zkfieldmanual-noir,
  title        = {Noir — The ZK Field Manual},
  author       = {MarketComp},
  year         = {2026},
  version      = {1.3},
  howpublished = {\url{https://zkpick.com/frameworks/noir/}},
  note         = {Accessed: YYYY-MM-DD}
}