Atlens
BrowseCompareAboutGet App

About

Atlens was previously known as X-Glass — same project, same author, just a simpler, more readable name.

01Background02Coverage & Roadmap03Data & Accuracy04Disclaimer05Privacy06Support the Project07Acknowledgments

Background

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.

Coverage & Roadmap

X Mount

BrandPhoto LensesCinemaLenses
ActiveDiscontinued
Fujifilm✓✓✓50
Sigma✓○N/A11
Tamron✓○N/A4
Viltrox✓—N/A14
7Artisans✓—◐27
TTArtisan✓—◐21
Brightin Star✓—N/A15
SG-Image✓—N/A11
Laowa✓——9
Meike○——○
Sirui○——○
Voigtländer✓—N/A7
Total169

✓ Covered · ◐ Partial · ○ Under evaluation · — No plans · N/A Not applicable

G Mount

BrandPhoto LensesCinemaLenses
ActiveDiscontinued
Fujifilm✓—✓19
Laowa✓—N/A8
Total27

✓ Covered · ◐ Partial · ○ Under evaluation · — No plans · N/A Not applicable

Missing a lens you're looking for?

Data & Accuracy

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:

  1. 0
    DiscoveryScripts index lens listings from each brand's official website
  2. 1
    Raw Data RecallAI Agents collect official lens descriptions and raw spec text from manufacturer sources
  3. 2
    StructuringScript rules compute deterministic fields; AI Agents derive semantic fields
  4. R
    Human ReviewMaintainer reviews each entry and applies necessary corrections
  5. P
    Publish GateSchema validation, normalization, independent cross-check, and final merge

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 GitHub

Disclaimer

Atlens 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.

Privacy

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.

Support the Project

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.

Support on Ko-fi

Acknowledgments

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.

Iris is Atlens's resident character — the aperture animation on the home page that opens and closes with each tap.

Building Iris required Claude to first study the mechanical principles behind petal-shaped aperture blades — working through structural diagrams, motion logic, and kinematics documentation before writing a single line of code. What it produced is a genuine three-body constraint kinematic engine: forward and inverse kinematics solved analytically in real time, aperture openings computed from arc-intersection geometry. I had no background in mechanism kinematics whatsoever. The entire system was built from scratch.

Iris is more than an animation. Like Clippy once lived in the corner of Microsoft Office, Iris is Atlens's resident character — accompanying every visitor with a quiet personality of its own.

Gemini and Claude Design shaped several key design decisions throughout the project. When building the Filter Panel, Gemini established the interaction language for single- and multi-select controls so users could understand a control's behavior at first glance. On the lens list, it refined card layout and spacing across screen sizes, keeping the information hierarchy clear on every device. For the share poster, it pushed the design toward something genuinely clean, restrained, and visually considered.

As an engineer, I could feel when something in the design was off — but rarely knew why. Gemini gave me the vocabulary to diagnose design problems, and the understanding to know why the fix worked. The site reached a level of craft I couldn't have gotten to on my own.

My deepest gratitude to the AI collaborators whose contributions were decisive in making this project a reality — Claude Code, Google Gemini, and Claude Design.