iden3/circom
iden3/circom has 1,701 GitHub stars and 379 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 03:13 UTC. Last push 2026-10-28.
zkSnark circuit compiler
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
About ==>circom
CIRCUIT COMPILER FOR ZK PROVING SYSTEMS
Circom is a novel domain-specific language for defining arithmetic circuits that can be used to generate zero-knowledge proofs. Circom compiler is a circom language compiler written in Rust that can be used to generate a R1CS file with a set of associated constraints and a program (written either in C++ or WebAssembly) to efficiently compute a valid assignment to all wires of the circuit. One of the main particularities of circom is its modularity that allows the programmers to define parameterizable circuits called templates, which can be instantiated to form larger circuits. The idea of building circuits from small individual components makes it easier to test, review, audit, or formally verify large and complex circom circuits. In this regard, circom users can create their own custom templates or instantiate templates from circomLib, a publicly available library that comes with hundreds of circuits such as comparators, hash functions, digital signatures, binary and decimal converters, and many more. Circomlib is publicly available to practitioners and developers.
The implementations of proving systems are also available in our libraries including snarkjs, written in Javascript and Pure Web Assembly, wasmsnark written in native Web Assembly, rapidSnark written in C++ and Intel Assembly.
Circom aims to provide developers a holistic framework to construct arithmetic circuits through an easy-to-use interface and abstracting the complexity of the proving mechanisms.
Circom language reference can be found at circom language reference.
At this time there are two available syntax highlighters: circom Visual Studio Code highlight syntax and circom Vim highlight syntax.
The circom development team is part of the COSTA research group at the Complutense University of Madrid.
Documentation
All documentation is available in circom 2 Documentation, we encourage you to read it. If you are new start with the Getting started section. Basic background on Zero-knowledge proofs can be found on Background section.
Install
Refer to Installation section
:warning: Deprecation note
The previous circom 1 compiler written in Javascript is deprecated, but circom 1 repository is still available.
Community
Thank you for considering contributing to the circom & snarkjs framework!
As the circom and snarkjs community grows new tools, circuits, or projects have appeared. Here we link some of them:
CIRCUITS
TOOLS
CIVER: a static analyzer for specifying and verifying circom circuits (including weak-safety checks)
Ecne: a static analyzer verifying weak and strong safety for circom circuits
PICUS: a static analyzer for verifying weak and strong safety for circom circuits
Hardhat-zkit: the ultimate typescript environment for circom development
More information about the notions of weak and strong safety in circom circuits here.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,751 starspublic-apis/public-apis
A collective list of free APIs
496,969 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
440,579 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,132 stars