F-Keys\Apps\OpticQuiz _◻✕
← Back Forward → ↑ Up Home Find Status Log
Address 📁 F-Keys\Apps\OpticQuiz

OpticQuiz

Sixteen vision tests that run entirely in your browser, and a color-accessibility toolkit for people who ship things other people have to look at. Nothing is uploaded.

Free, no account · runs entirely in the browser · fifteen npm packages · method deposited with a DOI

OpticQuiz running.
OpticQuiz, 2026-08-28

What it is

Sixteen vision tests that run in the browser — acuity charts, color vision, contrast, and a color-accessibility toolkit for people building things other people have to look at.

Nothing is uploaded. The tests run on your machine, which is the only arrangement under which anyone should be typing what they can and cannot see into a web page.

Two audiences, one engine

If you want to check your own eyes, open the site. If you are shipping a design, the same simulation is installable: npm i opticquiz-cvd or the PyPI package of the same name, so the check that runs in the browser also runs in your build.

There is a GitHub Action too — it fails a build when two colors in a palette become the same color under protanopia, deuteranopia or tritanopia. The default matplotlib red and green are seventy-one apart to normal vision and five apart under deuteranopia.

What it is not

Screening, not diagnosis. These are the same plates and charts an optician would recognize, rendered honestly, with their calibration limits published rather than glossed. A screen is not a lightbox and the tests say so.

How it works

  1. Open it and pick a testAcuity charts, color vision, contrast. Sixteen of them, and none asks who you are.
  2. Take it on your own screenEverything runs locally. The results never leave the machine, which is the only sane arrangement for typing what you can and cannot see into a web page.
  3. Or put the same engine in your buildnpm i opticquiz-cvd. The simulation that runs the tests also runs in CI, so a palette is checked before it ships rather than after somebody complains.

Two audiences, one engine

Sixteen testsAcuity, color vision and contrast, rendered honestly with their calibration limits published rather than glossed.
Nothing is uploadedThe tests run on your machine. No account, no result stored, nothing to leak.
Installable simulationopticquiz-cvd on npm and PyPI, and fourteen more npm packages carrying the same engine — cvdsim, cvdsafe, safepalette, cvdplate, opticquiz-eye, one named for each deficiency, and three MCP servers, so the same math runs in your pipeline.
A build gateThe cvd-palette Action fails a build when two colors collapse into one under protanopia, deuteranopia or tritanopia.
The default palette is not safeMatplotlib red and green are 71 apart to normal vision and five apart under deuteranopia. That is the whole case.
Published methodThe plate-generation method is deposited with a DOI, so the test can be cited and reproduced rather than trusted.

Specifications

Whereopticquiz.com
CostFree, no account
RunsEntirely in the browser
Packages15 on npm — opticquiz-cvd, opticquiz-eye, cvdsim, cvdsafe, safepalette, cvdplate, and the rest
MCP serversopticquiz-cvd-mcp, cvdsafe-mcp, colorblind-mcp
ResearchDeposited, with DOIs

Questions

Is this a medical test?
No. It is screening, not diagnosis. A screen is not a lightbox, and the pages say so where the limits matter.
Do you keep my results?
There is nothing to keep. The tests run in your browser and no result is transmitted.
Can I check my product's colors automatically?
Yes — that is what the packages and the GitHub Action are for. The check that runs on the site runs in your build.
Why should I trust the plates?
Because the method is published with a DOI and the calibration limits are stated, rather than the plates being asserted as correct.
1 item Log  ·  Status F-Keys