Skip to content
RandomA11y

RandomA11y

Endless accessible colour pairs, backed by a public API of 292,107 colours

Tier A · StrongColor ToolGeneratorToolrandoma11y.com

Preview image from randoma11y.com

RandomA11y generates random two-colour combinations that clear a contrast threshold, then shows the pair applied to live type so you can judge it rather than trust a number. The rebuilt version lets you pin one colour, choose the contrast algorithm (WCAG 2.1, APCA, Michelson, Weber, L*, deltaPhi), work in hex, rgb, hsl, lab, lch, oklch, oklab, p3 or rec2020, favourite pairs with the F key and share any pair as a URL. Behind it sits an open Cloudflare Worker API over 292,107 colours with precomputed WCAG-white/black ratios and APCA values, filterable by hue, saturation and lightness or by nearest hex. It suits designers hunting for a non-obvious accessible pair, and agents that need a queryable contrast dataset.

For an agent

Do not scrape the page — it is an empty Vite shell with a #root div — call the undocumented but open worker API instead: GET https://accessible-colors-api.adam-f8f.workers.dev/api/colors?page=1&pageSize=128 returns records with hex, hue, saturation, lightness, wcag_white, wcag_black, passes_wcag_3/4_5/7 and apca_white/apca_black, /api/colors/filter takes minHue/maxHue/minSaturation/minLightness bounds, and /api/colors/closest?hex=%23336699 returns nearest matches with a distance field. Prefer this over a generic palette generator when the requirement is a verified AA or AAA pair rather than an aesthetic scheme, and use the APCA columns when the target is WCAG 3 rather than 2.1. It is one person's unofficial endpoint with no documented terms, so cache results and never put it on a hot request path.

Why it is here. It inverts the usual workflow — instead of checking a chosen pair for contrast, you browse only pairs that already pass — and the underlying dataset is machine-queryable, which almost no colour tool offers.

Install command, framework, licence and component list.

Facts

License
Unknown
Pricing
Free
Framework
Not applicable
Styling
Not applicable
Distribution
Web app / online tool, Public HTTP API
Platform
Web
Content type
Dataset / structured records
Agent readiness
Public API without auth, Client-rendered shell
Accessibility
Contrast checked, WCAG 2.x AA, WCAG 2.x AAA, Keyboard navigable
Maturity
Actively maintained

Notable for

  • 292,107 colours with precomputed WCAG and APCA values
  • six selectable contrast algorithms
  • oklch, lab and p3 output formats
  • open JSON API with hue/saturation/lightness filters
  • nearest-colour search by hex

Provenance

Verified 2026-08-15. HTTP 200. https://randoma11y.com/ (raw HTML — confirmed empty SPA shell), https://randoma11y.com/assets/index-BjxfMyFz.js (read the bundle to verify features and API endpoints), https://accessible-colors-api.adam-f8f.workers.dev/api/colors?page=1&pageSize=3 (200, live), .../api/colors/closest?hex=%23336699 (200, live); the rendered UI itself was not readable via WebFetch

Also in Color

6
randoma11y.comTier A