RandomA11y
Endless accessible colour pairs, backed by a public API of 292,107 colours
Tier A · StrongColor ToolGeneratorToolrandoma11y.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.
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- Coolors · Palette generator with 10M+ schemes, contrast checker and Tailwind export
- Grabient · Cosine-gradient generator; CSS/SVG/PNG export and a real llms.txt
- Leonardo · Adobe's contrast-first colour system generator, with an npm module behind it
- OKLCH Color Picker · Pick and convert colors in OKLCH with P3 and Rec2020 gamut warnings
- Color Hunt · ~4,200 curated 4-colour palettes, filterable by 18 colours and 31 moods
- Huemint · ML palette generator driven by a contrast matrix, with an open POST API