Method — where every compatibility fact comes from
How this dataset is built and audited: every claim cites a verified source with a date, unsupported combinations are labeled rather than guessed, and the tool never fabricates a compatibility answer.
What this site is
LensCompat answers one question with evidence: does this lens work on this body, and what do I need to know? Today that means Canon RF and RF-S lenses mounted natively on EOS R bodies, EF-family lenses (EF, EF-S, TS-E, MP-E) on those bodies through the official adapter, Nikon Z and Z DX lenses mounted natively on Z bodies, and F-mount lenses (AF-S · AF-P · AF-I · screw-drive · AI-S) on Z bodies through the FTZ. The dataset is the asset; the lookup tool and these guide pages are views over it. Nothing on this site is a hand-written compatibility claim — every rendered verdict resolves through the same engine over the same versioned, source-cited dataset.
Provenance discipline
- Every fact row carries
source_ids; every source carries a verified URL (fetched, content read), a kind, and anaccessed_atdate. - Facts that could not be verified are never inferred to complete the dataset. The engine reports those combinations as unsupported_claim — explicitly.
- If a fact changes, the new fact gets a fresh source row with a new verification date; old rows stay as the provenance trail.
- A build-time validator (
npm run validate) refuses to pass a dataset whose rows lack sources or reference unknown source ids, and smoke-tests every lens × body combination for claim coverage.
Source kinds
| Kind | Count | Meaning |
|---|---|---|
official | 282 | manufacturer-published (Canon / Nikon product pages, support documents, press, museums) |
consensus-third-party | 10 | respected review / spec references (e.g. DPReview) |
manufacturer | 0 | other manufacturers (adapter makers) |
community | 0 | forums and community posts — lowest confidence, still citable |
retailer | 138 | retail listings (Amazon product pages) — referenced for product identity (the ASIN ledger), never as compatibility evidence |
Current dataset
| Collection | Rows |
|---|---|
| Sources | 430 |
| Camera bodies — RF · full-frame | 12 |
| Camera bodies — RF · APS-C | 5 |
| Camera bodies — Z · APS-C | 4 |
| Camera bodies — Z · full-frame | 9 |
| Lenses — EF · full-frame | 49 |
| Lenses — EF · APS-C | 10 |
| Lenses — RF · full-frame | 46 |
| Lenses — RF · APS-C | 7 |
| Lenses — Z · full-frame | 42 |
| Lenses — Z · APS-C | 7 |
| Lenses — F · full-frame | 35 |
| Lenses — F · APS-C | 5 |
| Official adapter families | 2 |
| Class rules | 6 |
| Caveats | 4 |
Dataset sources last verified 2026-09-10. The full source ledger is public on the sources page.
Honest limits
- Corridor-bounded. Declared corridors — RF lenses mounted natively on RF bodies; Z lenses mounted natively on Z bodies; EF lenses on RF bodies via the Mount Adapter EF-EOS R; F lenses on Z bodies via the Mount Adapter FTZ. Any combination of other mounts returns no claim, never a guess.
- Effective crop resolution is body-dependent and not stated in the sources we verified — the tool says so instead of estimating megapixels.
- Per-lens mechanical specs (tilt/shift ranges, magnification, weights) are not yet in the dataset and are not claimed.
- Verification is point-in-time: pages are cited with the date their content was fetched. A manufacturer could change a page after its
accessed_at; re-verification adds a new source row.
Retailer links
Where a verdict needs a product, the tool offers an Amazon link (marked rel="sponsored",
Associates tag lenscompat-20). Rows with a verified ASIN deep-link to that product
page; everything else falls back to a search link. The compatibility answer never depends on
the retailer links — they appear only after a verdict resolves, and the tool works fully
without them.