Atlens was previously known as X-Glass — same project, same author, just a simpler, more readable name.
As a Fujifilm shooter myself, I kept hitting the same wall when picking a lens: the information is scattered. Say I want a fast 50mm-equivalent prime, a do-it-all travel zoom, or a constant-aperture standard zoom — with hundreds of lenses out there across first-party and third-party brands, which ones actually fit and deserve a spot on the shortlist? To find out, I'd have to comb through every brand's official accounts, storefronts, and websites — slow and tedious. Or I could turn to reviews and creators' videos and articles, but those mostly exist to share opinions and steer a buying decision, not to objectively map out how many lenses might match what I'm after — which, to me, is the real first step in choosing a lens.
So I built Atlens: a standardized data pipeline catalogs lenses and collects manufacturers' officially published specs, building a multi-brand, normalized, side-by-side comparable database that tackles exactly that first step. Atlens started X-mount only; G-mount (medium format) came later at users' request, and while its coverage and breadth of features don't yet match X-mount's, they'll keep improving over time.
I'm a front-end engineer, and I currently develop and maintain Atlens entirely on my own. I've always held a deep conviction about building a product that doesn't compromise on engineering quality, user experience, or visual craft — and that conviction is, in no small part, what made this project possible.
X Mount
| Brand | Photo Lenses | Cinema | Lenses | |
|---|---|---|---|---|
| Active | Discontinued | |||
| Fujifilm | ✓ | ✓ | ✓ | 50 |
| Sigma | ✓ | ○ | N/A | 11 |
| Tamron | ✓ | ○ | N/A | 4 |
| Viltrox | ✓ | — | N/A | 14 |
| 7Artisans | ✓ | — | ◐ | 27 |
| TTArtisan | ✓ | — | ◐ | 21 |
| Brightin Star | ✓ | — | N/A | 15 |
| SG-Image | ✓ | — | N/A | 11 |
| Laowa | ✓ | — | — | 9 |
| Meike | ○ | — | — | ○ |
| Sirui | ○ | — | — | ○ |
| Voigtländer | ✓ | — | N/A | 7 |
| Total | 169 | |||
✓ Covered · ◐ Partial · ○ Under evaluation · — No plans · N/A Not applicable
G Mount
| Brand | Photo Lenses | Cinema | Lenses | |
|---|---|---|---|---|
| Active | Discontinued | |||
| Fujifilm | ✓ | — | ✓ | 19 |
| Laowa | ✓ | — | N/A | 8 |
| Total | 27 | |||
✓ Covered · ◐ Partial · ○ Under evaluation · — No plans · N/A Not applicable
Missing a lens you're looking for?
Atlens covers hundreds of lenses across dozens of spec dimensions, and I kindly ask for your patience with the small errors and stale entries that slip through — if you spot anything off, please . For anything critical to a purchase, please confirm on the manufacturer's official page.
All data in Atlens is produced by two independent pipelines. The spec pipeline collects and structures lens specifications from official brand websites. The pricing pipeline independently samples reference prices from e-commerce storefronts. The two are fully isolated, each with its own data sources and quality control process.
Spec data
Data comes from official brand websites only
Canonical spec values are collected from brand official sites. Third-party material is not used as a source for published values.
Deterministic fields are computed in code
Focal length, aperture, series name, and other fields strictly derivable from the lens model name are all computed in code. Fields requiring semantic understanding are extracted by an AI agent from the collected official text — every value is traceable back to its source.
Strict stage isolation
Pipeline stages execute in a fixed order. Each step uses only the previous step's output; intermediate stages cannot consult external sources or revise prior conclusions.
Independent cross-check before publish
A separate AI without access to the pipeline's context samples and compares against published reviews before publish, to surface possible source or extraction errors. These third-party materials are used only for audit, never as canonical data sources.
Spec data is produced through a multi-stage pipeline:
The database is updated when new lenses launch or when existing data needs correction. The version number and last-updated timestamp in the footer reflect the latest published data release.
Price data
Produced independently from spec data
Pricing has its own sampling sources and collection process, kept separate from the spec pipeline. It is meant to give rough purchase context, not a live quote.
Sourced from brand-official storefronts
Prices come from brand-operated e-commerce. When a brand has no unified global storefront, the US storefront is used as a reference.
Used market as fallback
When no official listing is available, used market listings are sampled, and a median of multiple listings is computed to reduce outlier impact — though used prices still vary substantially with condition and timing, so treat them as a rough reference.
Point-in-time snapshots, not real-time
Prices reflect the state at sampling time and are not continuously updated.
Full pipeline architecture
Detailed Mermaid diagram of data flow, branching, and human/AI nodes.
View on GitHubAtlens data is sourced from public materials and refined through manual review. I make every effort to keep specs accurate and up to date, but errors and delays are inevitable. Always verify key specifications on the manufacturer's official page before making a purchase decision.
Atlens is not responsible for any decisions made based on information presented here.
Atlens is an independent third-party tool and is not affiliated with, endorsed by, or sponsored by Fujifilm or any lens manufacturer.
Product images and brand trademarks are the property of their respective owners. If you are a rights holder and believe your content has been used improperly, please contact me@atlens.app.
Atlens does not require registration and does not collect personal information.
This site uses Cloudflare Analytics to collect aggregated, anonymous data — such as page views and feature usage — solely to help improve the product. No personally identifiable information is collected.
Building Atlens involves running a multi-stage data pipeline to gather, clean, and normalize specs from dozens of manufacturer sites, as well as collect price reference data. It is an ongoing commitment, not a one-time build.
For your convenience, some pages include purchase links to dealers, some of which are affiliate links. If you make a purchase through them, Atlens earns a small commission at absolutely no extra cost to you — this simply helps sustain my development and keeps the platform free and ad-free.
Affiliate partnerships never influence rankings or pricing data. The codebase is open source — you're welcome to verify how it works under the hood. If you ever encounter a broken link, a model mismatch, or any dealer issues, please so I can fix it promptly.
You can also support the project directly — every bit helps keep Atlens going.
Over the past year, large language models have shown capabilities that once felt out of reach. I could not have imagined completing a project at this scale on my own — let alone shipping it in under a month. Without large language models and AI coding agents, this project might have stayed an idea forever. I am grateful to live in an era where the technology dividend is real, and where a spark of inspiration can actually become something in the hands of a solo developer.
My deepest gratitude to the AI collaborators whose contributions were decisive in making this project a reality — Claude Code, Google Gemini, and Claude Design.