Noir

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

main.nr

fn main(age: u8) -> pub bool {
    // Check is user an adult without revealing their real age
    age >= 18
}

main.nr

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.

Read the original on noir-lang.org ↗