# noir-lang/noir

Noir is a domain specific language for zero knowledge proofs

Repository: https://github.com/noir-lang/noir
Canonical: https://ross.abutalabs.com/products/noir
Homepage: https://noir-lang.org
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: cryptography, zero-knowledge, compiler, noir-lang, programming-language
Last push: 2026-08-26T18:31:23+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 95, longevity 100
- inputs: {"age_days": 2220, "days_push": 7, "days_rel": 34, "gap_med": 20.5, "n_releases_24m": 29}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1393, forks 409 (observed 2026-08-28T04:04:36.242620+00:00)

## What it is
Noir is a Rust-inspired domain-specific language for writing privacy-preserving programs that compile to zero-knowledge (SNARK) proofs via the ACIR intermediate representation. It is backend-agnostic, letting the same code target any ACIR-compatible proving system across blockchains, servers, and browsers.

## Use cases
- write zero-knowledge proofs without cryptography expertise
- prove statements about private data like age verification without revealing inputs
- build privacy-preserving smart contracts and confidential tokens
- prove email senders or passport attributes with ZK proofs
- compile circuits for any ACIR-compatible SNARK backend
- add zero-knowledge privacy to web2 and web3 applications

## When to choose
- you want a high-level, Rust-like language for ZK circuits instead of hand-writing constraint systems
- you need backend-agnostic proving that works with multiple SNARK systems
- you are building privacy-preserving blockchain, identity, or attestation applications

## When to avoid
- you need a production-audited system for high-value deployments, as Noir is still in alpha and unaudited
- you need a general-purpose programming language rather than a DSL for provable computation
- your proving backend is not ACIR-compatible

## Facets
- artifact type: library
- maturity: active
- function: compiler, programming-language, cryptography, developer-tools
- domain: privacy, blockchain, programming-languages, compilers
- platform: rust, cross-platform, cli, browser
- tags: zero-knowledge-proofs, snark, zk-snarks, domain-specific-language, acir, privacy-preserving-computation, web3, cryptography, web-server

## Member repositories
- noir-lang/noir (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:36.242620+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:39:29.682844+00:00, confidence not recorded.
  - readme: https://github.com/noir-lang/noir (fetched 2026-08-28T04:04:36.242620+00:00, sha 836bf055e4bc)
  - homepage: https://noir-lang.org (fetched 2026-08-29T11:54:18.305519+00:00, sha 4135412e75d5)
  - site_page: https://noir-lang.org/docs (fetched 2026-08-29T11:54:18.314818+00:00, sha b676058fdb3b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
