---
title: "Noir"
description: "Noir: Circuit DSL (backend-agnostic). Kind: Circuit DSL. Arithmetisation / backend: ACIR → Barretenberg (UltraHonk). Setup: Yes (universal)."
type: "option"
url: "https://zkpick.com/frameworks/noir/"
section: "02 Choosing a framework"
authors:
  - "MarketComp"
publisher: "MarketComp"
version: "1.3"
updated: "2026-09-12"
license: "CC-BY-4.0"
json: "https://zkpick.com/data/frameworks/noir.json"
---

*By MarketComp. Updated 2026-09-12. Version 1.3. CC BY 4.0.*

# Noir — *Circuit DSL (backend-agnostic)*

> 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.

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**

- 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 when:** New application circuits where developer velocity and client-side proving matter, and teams uncomfortable with manual constraint discipline.

Maintained by: Aztec · Maturity: Late beta; used in production by some teams · License: Apache-2.0 / MIT · Source: https://github.com/noir-lang/noir

**In the framework selection matrix** (https://zkpick.com/frameworks/#frameworks-matrix-noir)

| Project | Kind | Arithmetisation / backend | Setup | Maintained by | Licence | Status |
| --- | --- | --- | --- | --- | --- | --- |
| Noir | Circuit DSL | ACIR → Barretenberg (UltraHonk) | Yes (universal) | Aztec | Apache-2.0 / MIT | Late beta, pre-1.0 (1.0.0-beta series through 2026) |
