How we rank
One complete pair, priced at every retailer on the same day, shipped to the same address. The number you see is the number you would pay.
Updated October 1, 2026
The short version
We rank online glasses retailers by the all-in price of the same pair, checked monthly. Not the frame price, not a sale banner: the figure at the end of checkout with lenses, add-ons, shipping and tax included, before any coupon.
That number is harder to find than it should be. Every retailer advertises a frame price and adds the rest later, and each one adds different things. Pricing the same basket at each of them on the same day is the only way to compare.
The baskets
Three baskets, one for each kind of buyer.
| Basket | Frame | Lenses | Add-ons | Prescription |
|---|---|---|---|---|
| Single vision | Retailer’s most popular acetate full-rim | 1.50 index CR-39 | Anti-scratch only | -2.00 both eyes, PD 63 |
| Progressive | Same frame as single vision | Standard progressive, 1.50 index | Anti-scratch and anti-glare | -2.00, add +2.00 |
| Readers | Cheapest full-frame reader | +2.00 | None | Not applicable |
“Most popular” means the frame the retailer’s own sort puts first when you filter to acetate full-rim frames. If that frame changes between months, the new frame is recorded in the data file so the series is honest about it.
The rules
- Priced to checkout. We enter the prescription, choose the lenses and add-ons, set standard shipping to ZIP 11201 in Brooklyn, and read the total on the final page before payment.
- Before coupon codes. If a code is showing on the day, even one the retailer applies for you at checkout, we remove it, note it next to the row and do not apply it. Codes change weekly; the base price is the number worth tracking. A marked-down sale price with no code is what anyone pays, so that counts.
- Same day. Every retailer is priced on one calendar day each month. The date appears on the comparison.
- Nothing invented. When a value has not been recorded yet, the site shows a bracketed placeholder such as [$XX] rather than an estimate.
- Every month kept. Old sweeps are never overwritten. The retailer pages show the series.
What else we record
For each retailer and basket we also note the return window and whether returns are refunds or store credit, the try-on option (virtual, home try-on, or none), the URL the price was read from, the time it was read, and what was actually configured: which lens package, which coatings came bundled, anything we had to infer rather than read. These do not change the ranking; they sit beside it so you can weigh them yourself.
What we do not do
- We do not accept payment for placement, and retailers do not see the table before it goes live.
- We do not rank on commission rate. The affiliate links pay us when you buy, and the rate differs by retailer, but the order of the table comes only from the price.
- We do not test lens quality in a lab. Where we comment on lens options, it is from public information and ordinary use.
Corrections
If a price in the table is wrong, or a retailer has changed something we have not caught, tell us and we will re-check it in the next sweep. The whole data set is a single file in the site’s repository, so every change is visible.
See also the affiliate disclosure.