Color Contrast Checker
Check two colors against the WCAG contrast rules. Type or pick a text and a background color, read the contrast ratio, see which AA and AAA checks pass, preview real text at the sizes WCAG distinguishes, and get suggested fixes when a check fails.
Everything runs locally in your browser. Your data never leaves your device.
Colors
Result
Needs 4.5:1. Body text below 24px (below 18.7px when bold). WCAG 1.4.3.
Needs 3:1. Text from 24px, or bold text from 18.7px. WCAG 1.4.3.
Needs 3:1. Icons, input borders, focus rings and chart elements. WCAG 1.4.11.
Needs 7:1. Body text at the stricter enhanced level. WCAG 1.4.6.
Needs 4.5:1. Large text at the stricter enhanced level. WCAG 1.4.6.
Preview
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
Normal text at 16px, large text at 24px, bold large text at 18.7px, and a non-text UI sample. The panel sits on white, matching how translucent colors are measured.
Make it pass
The closest text colors that reach each failing level, keeping your hue and adjusting only the lightness.
#1d6ff5 reaches 4.52:1, needs 4.5:1#0951c5 reaches 7.01:1, needs 7:1Next steps
Keep going. These tools open with your result loaded in.
Convert a color between HEX, RGB, HSL, HSV, HWB, CMYK, OKLCH and OKLAB. Type into any field and the others update as you go, or pick the color visually. Reads CSS color syntax and keeps alpha where the format supports it.
Convert text into every case at once: title case in the APA, AP, Chicago, MLA, Bluebook, AMA and NYT styles, sentence case, upper, lower, camelCase, snake_case, kebab-case and more.
Count words, characters, sentences, paragraphs, lines and more as you type, with estimated reading and speaking time.
Remove duplicate lines from a list or text, keeping the first occurrence. Optionally ignore case and whitespace, or drop blank lines too.
Replace text in two modes: plain find and replace all, or regular expressions with flag controls and capture group references like $1.
Paste a UUID to see what it carries: version, variant, and for time-based versions the exact timestamp, clock sequence and node. Also shows the raw bytes, the 128-bit integer and the URN form.
Decode Base64 to text or encode text to Base64. Paste into the top box, read the result below, and flip the direction with one click. Handles Unicode correctly, reads URL-safe Base64, and shows binary payloads as a hex dump you can download.
Convert numbers between binary, octal, decimal, hexadecimal and any base up to 36. Type into any field and the others update as you go. Handles huge integers without losing precision and accepts 0x, 0b and 0o prefixes.