The Programming Language for Private Apps
Noir is an open-source, zero-knowledge programming language that makes it easy to add privacy to Web2 and Web3 apps alike.
Simple. Powerful. Private.
A zero-knowledge proof in just a few lines of code
fn main(age: u8) -> pub bool {
// Check is user an adult without revealing their real age
age >= 18
}fn main(age: u8) -> pub bool {
// Check is user an adult without revealing their real age
age >= 18
}Simple. Powerful. Private.
A zero-knowledge proof in just a few lines of code
Why Choose Noir?
Noir combines the best of modern programming languages with the power of zero-knowledge proofs

Simple
Familiar syntax inspired by Rust, with accessible documentations and intuitive tooling.

Performant
Optimized with best-in-class efficiency and minimal overhead for your ZK applications.

Versatile
Deployable anywhere: blockchains, servers, browsers, mobile phones, or purely CLI if you wish.

Backend Agnostic
Works with any proving backend. Access different proving technologies using the same code.
Ecosystem
Projects building with Noir.
Our Top Contributors
Noir is fully open sourced with a 100+ contributor community. We believe in building cryptographic tools that are transparent, auditable, and accessible to everyone.
Stay Updated
Get the latest updates on Noir development, new features, and community news.
