Methodology
This page is the contract. It says where every number comes from, what the checker does with it, what it will never claim, and how the data is kept honest after launch. Written 6 September 2026; the code is open to inspection in your browser at /assets/checker.js.
Sources of truth, in order of authority
- Manufacturer help or specification page (confidence "manufacturer").
- A partner the manufacturer names, such as Lensology for RayNeo, Xreal and Vuzix, or Even Realities' optician partners (confidence "partner").
- A named optical retailer's own page, such as Vision Express, Apollo or Générale d'Optique (confidence "retailer").
- Everything else, including reviews, forums and third-party lens labs, is "secondary": it is never encoded as a numeric limit, only recorded in the notes and shown as a caveat.
A number reaches the checker only from tiers 1 to 3. Every route carries its source URL and the date it was last read. The full list is on the sources page, and every model page shows the confidence tier per route.
What the checker does with your numbers
- Normalise. A missing cylinder is treated as 0. A plus-cylinder prescription is transposed to minus-cylinder form (sphere plus cylinder, cylinder sign flipped, axis rotated by 90°) before any comparison, and the converted line is shown to you. A +1.00 / +2.00 × 90 card becomes +3.00 / −2.00 × 180, which fails a +2.00 cap that the untransposed sphere would pass.
- Apply the maker's own power rule. Some makers publish a total power limit (sphere plus cylinder): Meta for its whole family, Snap, and Frame of Choice for Xreal inserts. Others publish sphere and cylinder separately: Even, Viture, Halliday, Rokid, Solos, RayNeo. A few publish no rule, in which case the strongest meridian is used and the result is flagged. Rules are never compared across makers.
- Evaluate every route for your country. A route is one way of getting corrected vision: lenses glazed into the frame, an insert behind the optics, a clip-on frame, or a built-in dial. Each is tested independently against its own published sphere, cylinder, reading-addition, prism and PD limits, and its lens-index tiers where the maker publishes them. Routes restricted to other countries are skipped, not failed.
- Tier the model from the best passing route, using the strictest official route first. Wider official routes are shown as "also within range via".
- Rank by tier, then by whether the model is on sale in your country, then by list price.
Result tiers
| Tier | Meaning |
|---|---|
| Within published range | An official route that glazes lenses into the frame (or a clip-on frame) covers both eyes. |
| Within range via partner | Only an unofficial reglazer or lab publishes a covering range. The partner is named. |
| Within range via insert | A prescription insert behind the optics covers you; the frame itself is not corrective. |
| Covered by built-in dial | The built-in diopter dials cover your sphere. Dials correct short-sight only and never astigmatism. |
| Unverified | Would be "within published range", but the source has not been re-read for more than 90 days. |
| Range not published | No route for your country publishes a numeric limit. We do not guess; ask the vendor with your exact prescription. |
| No prescription route in this country | Every published route is restricted to other countries. The card says what the range would mean where the product is sold. |
| Outside published range | Every usable route fails, and the reason names the eye. For display and tethered glasses that are out by 2.00 D or less on power alone, the card adds "contacts route": contact lenses plus plano lenses are the community workaround, and vertex distance matters above ±4.00. |
One eye outside a range fails the whole route for that model; the two eyes are never averaged. Reading additions on a single-vision-only display route produce a downgrade note ("wear for distance, keep your readers"), never a failure, because the virtual image sits at roughly 4 m. PD produces a warning only. Prism fails every route that publishes no prism limit.
Freshness policy
- Every range and every market status carries a last verified date.
- Older than 45 days: the route shows "unverified since [date]" in grey and the result carries a badge.
- Older than 90 days: the model drops from "within published range" to "unverified" in the checker.
- The six most-searched models (Meta Ray-Ban Display, Ray-Ban Meta Gen 2, Blayzer and Scriber Optics, Oakley Meta HSTN, Even Realities G2, Xreal One Pro) are re-verified weekly regardless of whether anything changed.
- Secondary-sourced figures are labelled as such on the page and are never presented as the maker's statement.
What this site says, and what it never says
The checker compares numbers against a published range. It is not a sale, a dispense or a sight test. To keep it that way, the site only ever says "within the manufacturer's published range", "outside the manufacturer's published range", "the maker states" or "check with a dispensing optician". It never says a pair is suitable for a named person, never recommends a lens index, never measures or estimates a PD, and never recommends a lens type for you.
This tool checks whether your prescription falls inside the range each manufacturer publishes. It is not optical advice and does not replace a dispensing optician. UK law requires that spectacles for anyone under 16, or anyone registered sight impaired or severely sight impaired, are dispensed by or under the supervision of a registered practitioner, and that prescriptions are less than two years old.
Privacy architecture
- The checker is a static page plus a JavaScript module. The only network request is for the dataset of published ranges (
/api/v1/models.json). Your values are compared in memory and discarded when you leave. - No form submission, no request carrying a value, no analytics on the checker, no session-replay tools, no third-party scripts. The checker route is served with a Content Security Policy of
connect-src 'self'andscript-src 'self'so that no injected script could send a value elsewhere. - Values never enter a URL. The only parameters a link ever carries are a model id and a country code.
- "Remember on this device" is off by default. When on, the values are kept in your browser's local storage only, and the Clear button removes them.
- A planned agent endpoint (
/api/v1/check) will be stateless: no request-body logging and no IP-linked storage. It is not live yet; when it is, this paragraph will say so.
Full wording is on the privacy page.
Agent tools (WebMCP)
Every checker, model, availability and UK page registers read-only tools under the draft WebMCP specification so that an assistant browsing on your behalf can run the same check without leaving the page. The tools are check_prescription, get_model, get_availability, list_models, explain_prescription_terms and, on long pages, show_section. All carry readOnlyHint: true; none follows a link, submits, saves or emails. check_prescription runs the same in-browser code as the page and its answer is coarse (model, tier, reason, sale status): it never repeats the numbers entered.
Status as of 6 September 2026: the API is in a Chrome origin trial (versions 149 to 156) and Microsoft Edge has its own trial; the ChatGPT desktop browser can call these tools; Gemini in Chrome and Claude cannot yet. The tools do nothing for search visibility and are not crawled. Developers can inspect them in any browser console via window.__agentTools.
If you use an AI assistant to run the check, your assistant's provider may retain what you type. This site never receives it.
Update workflow
Weekly, by hand (about two hours): re-verify the six hero models across GB, US, DE and FR; triage anything the automated diffs flagged; change a range only on a manufacturer or named-partner source, a market status only on a manufacturer or retailer page. Monthly: one email round to Lensology and one UK optician partner to confirm the cylinder and reading-addition limits that no page publishes, recorded with the date. Quarterly: refresh this page; set discontinued models to "discontinued" and keep their pages.
Nightly, automated (planned): fetch every source URL, strip to text and diff; extract dioptre-shaped numbers near the words sphere, cylinder, total power, add; write changes to a review queue. Retailer feeds moving 5% or more create a price entry in the changelog. News feeds per model go to the review queue only and never change a status on their own.
Never automated: writing a new sphere or cylinder number into a limit, changing a market to "on sale", or marking a route as official.
Every change appears in the changelog with how it was detected.
Test cases the code must pass
These run before every build. If one fails, the site does not publish.
| Case | Input | Expected |
|---|---|---|
| Meta Ray-Ban Display, country restriction | R −3.00/−0.75, L −2.75/−1.00, GB | GB: no prescription route (paused). US: within range, total power −3.75 in each eye |
| Total-power rule | R −3.50/−1.00 | Display: outside (total −4.50, contacts route). Ray-Ban Meta Gen 2: within |
| Plus-cylinder transposition | R +1.00/+2.00 × 90 | Read as +3.00/−2.00 × 180; outside Halliday G2 (+2.00 cap); within Even G2 |
| Dial vs insert | R −2.00/−1.00, Viture Luma Pro | Dial fails on astigmatism; insert passes; tier "via insert" |
| Hyperopia gap | R +1.00, RayNeo Air 3s | Outside published range (short-sight only) |
| Reading addition on a display | R −2.00, ADD +2.00, Display (US) | Within range, with the single-vision downgrade note |
| One eye out | R −5.00, L −13.00, Even G2 | Outside; reason says "left eye −13.00 outside −12.00"; eyes never averaged |
| Stale source | Route last verified 100 days ago | Tier "unverified" |
Two more are enforced: the agent tool's answer must not contain any number that was entered, and the built site must not contain an affiliate link without a "sponsored" attribute and an adjacent "Ad" label, an Amazon link next to a price, or a prescription field name in any URL.
Known conflicts we are still resolving
These are shown on the relevant model pages as caveats rather than hidden. Until resolved, the checker uses the narrowest official figure per channel and shows the wider one as "also possible via".
- Meta Ray-Ban Display: Any Meta Connect 2026 statement on UK/EU/CA resumption; Whether EU Battery Regulation (Feb 2027) or AI Act affects EU launch (trendingtopics.eu commentary, not a Meta statement); Meta Connect 23 Sep 2026 keynote: any international resumption date.
- Ray-Ban Meta (Gen 2): Reconcile -6/+4 (US direct) vs -6/+6 (Vision Express UK) vs -12/+6 (Meta Help) — which channel each applies to; Apollo DE states Gen 2 -6/+6 and Gen 1 -4/+4; Générale d'Optique FR states Blayzer/Scriber -8/+6 with ADD +0.25..+4.00 — encode as DE/FR paths once verified; Gen 1 official range (ray-ban.com 403 on fetch).
- Ray-Ban Meta Blayzer Optics and Scriber Optics (Gen 2): Exact published Rx range on meta.com product page (three conflicting figures); UK/EU availability and GBP/EUR price; Rx surcharge and lead time.
- Oakley Meta HSTN: Read Oakley FAQ directly: exact range, progressive support, surcharge; UK price and which UK opticians glaze it.
- Even Realities G2: CYL max and PD range (support centre blocked); Prism amount via partners; GBP/EUR prices; Is G1 still sold?.
- Xreal One Pro: Xreal's own SPH/CYL limits (ask the shop partner by email); Lensology One Pro insert price; GBP/EUR retail prices.
- Halliday G2: UK/EU shipping and pricing; Affiliate programme reopening.
- Meta Glasses: Progressive support on either path; Confirm the 17 launch countries and GBP/EUR prices.
- Oakley Meta Vanguard: Prices per market.
- RayNeo Air 3s / Air 3s Pro: UK retail price; Whether X3 Pro shares the same limits (Lensology page suggests yes).
- Rokid Glasses (display): Lens price and lead time for the display model; Progressive support on display model; UK price.
- Solos AirGo V2: CYL limits per tier; UK price and shipping.
- Specs (consumer, 2026): Insert price and partner name; CYL limit; EUR price.
- Viture Luma Pro: Prices per market; Viture Beast shares the Rx frame limits (same page states -16/+12, CYL ±6).
Two decisions taken in the build that the research left open: (1) a model whose only published routes give no numeric range is reported as "range not published" rather than as a pass or a fail; (2) the "contacts route" is shown as a note on "outside published range", not as a separate tier, so a display model that is out by 0.50 D reads as outside its range first and as a possible contacts workaround second.
How the site is funded
Some retailer links are affiliate links, each labelled "Ad" next to the link and carrying a "sponsored" attribute. Commission never changes a range, a status, or the order of results; opticians with no affiliate programme are listed on the same footing. Amazon prices are never shown, because Amazon only permits live prices through an API this site does not yet qualify for. Full details on the affiliate disclosure page.
Corrections
If a manufacturer page says something different from this site, the manufacturer page wins and we want to know. Email hello@smartspecscheck.co.uk with the URL. Corrections are logged in the changelog as "user_tip" once verified.