# iden3/circom

zkSnark circuit compiler

Repository: https://github.com/iden3/circom
Canonical: https://ross.abutalabs.com/products/circom
Language: WebAssembly
License: GPL-3.0
License Family: copyleft
Last push: 2026-06-24T13:11:58+00:00

## Health v2 (maintenance only)
Score: 71/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 89, release rhythm 30, longevity 100
- inputs: {"age_days": 1787, "days_push": 70, "days_rel": 310, "gap_med": 118, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1688, forks 375 (observed 2026-08-28T04:05:22.274675+00:00)

## What it is
Circom is a domain-specific language and compiler for defining arithmetic circuits used to generate zero-knowledge proofs (zk-SNARKs). Written in Rust, it compiles circuits into R1CS constraint files plus C++ or WebAssembly witness-generation programs.

## Use cases
- write zk-SNARK circuits for zero-knowledge proofs
- compile arithmetic circuits to R1CS constraints
- generate witness calculators in C++ or WebAssembly
- build reusable parameterizable circuit templates
- create circuits for blockchain identity and privacy applications
- integrate zero-knowledge proving with snarkjs or rapidsnark

## When to choose
- you need to author custom zk-SNARK circuits with a mature, widely audited DSL
- you want a large ecosystem of prebuilt circuit templates like circomlib
- you are building zero-knowledge applications on Ethereum or identity systems like iden3

## When to avoid
- you prefer writing circuits in a general-purpose language like Rust or Go (consider alternatives like Noir or Cairo)
- you need proving systems beyond R1CS-based ones like PLONKish arithmetizations
- you only need to verify proofs rather than write circuits

## Facets
- artifact type: cli-tool
- maturity: active
- function: compiler, programming-language, cryptography
- domain: blockchain, developer-tools, programming-languages
- platform: windows, cli, wasm
- tags: zk-snarks, zero-knowledge-proofs, arithmetic-circuits, r1cs, domain-specific-language, rust, privacy, compiler, cryptography, linux, macos

## Member repositories
- iden3/circom (main) score 71

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:22.274675+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-30T08:32:31.001201+00:00, confidence not recorded.
  - readme: https://github.com/iden3/circom (fetched 2026-08-28T04:05:22.274675+00:00, sha 57603ce4d3c7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
