Large text preview
Normal text preview — the quick brown fox jumps over the lazy dog.
Contrast Ratio
17.74:1
100% Private
All contrast checks run locally in your browser. Nothing is uploaded.
Color Contrast Checker tests text and background colors against WCAG accessibility ratios online for free. Check AA and AAA compliance in your browser.
Written & reviewed by Helperzy Editorial Team · Updated July 2026
Large text preview
Normal text preview — the quick brown fox jumps over the lazy dog.
Contrast Ratio
17.74:1
100% Private
All contrast checks run locally in your browser. Nothing is uploaded.
Choose a text color and a background color using hex codes or the pickers. Use the actual colours from your design so the result reflects what users will really see, not an approximation.
The exact contrast ratio appears with WCAG AA and AAA pass or fail badges for both normal and large text. Check the level your project targets, since large text passes at a lower ratio than body text.
Nudge the text or background colour and watch the ratio update live until it clears the level you need. Darkening or lightening one colour a little is usually enough to move a borderline pairing into a pass.
A colour contrast checker measures how different a text colour and its background are, and tells you whether that difference is enough for people to read comfortably. You enter two colours and it returns a contrast ratio plus clear pass or fail marks against the Web Content Accessibility Guidelines, with a live sample of the text sitting on the background. Designers, developers, and accessibility reviewers use it to confirm body text, buttons, and links are legible, to fix pairings flagged in an audit, and to choose brand colours that will pass from the start rather than being reworked later. It matters because low-contrast text is genuinely hard to read for people with low vision or colour deficiency, and for anyone using a screen in bright sunlight. The check is not a guess; it follows the official WCAG method. Each colour is first converted from its RGB channels into a single relative-luminance number that reflects perceived brightness, weighting green most, then red, then blue, and applying a small gamma adjustment to each channel first. The contrast ratio is then (lighter luminance + 0.05) divided by (darker luminance + 0.05). The result runs from 1:1, meaning identical colours, up to 21:1 for black on white. WCAG sets thresholds against that number: AA needs 4.5:1 for normal text and 3:1 for large text, while AAA is stricter at 7:1 and 4.5:1. Large text counts as roughly 18pt, or 14pt when bold, which is why the checker reports normal and large separately. Here is a worked case. Take mid-grey text #767676 on a white #ffffff background. White has a relative luminance of exactly 1.0, and that grey works out to about 0.1812. The ratio is (1.0 + 0.05) ÷ (0.1812 + 0.05) = 1.05 ÷ 0.2312, which is 4.54:1. That clears AA for normal text by a whisker, since AA needs 4.5:1, but it is nowhere near the 7:1 that AAA demands. Lighten the text just a little to #8c8c8c and the ratio drops to 3.36:1, which now fails AA for body copy while still passing the 3:1 large-text rule. Darken it to #595959 instead and you get exactly 7.00:1, clearing AA and AAA for every text size. Enter any of these pairs and the badges update at once. The practical uses are constant. A developer checks that placeholder grey in a form field is still readable. A designer picks an accent colour for links and confirms it clears 4.5:1 on the page background. A team preparing for an accessibility audit runs every text-and-background pair to catch failures before a reviewer does. Someone building a dark theme verifies that light-grey text on a near-black panel keeps enough contrast, which is easy to lose when both colours are close in brightness. Brand colours are where this bites hardest. White text on the standard Facebook blue #1877f2 scores only 4.23:1, which fails AA for body copy despite looking perfectly normal to most people. White on the WhatsApp green #25d366 is far worse at 1.98:1, and white on the amber #ffc107 collapses to 1.63:1 — that last pairing needs black text, which scores a comfortable 12.88:1. In each case the number turns a subjective judgement into a clear yes or no. A few notes prevent mistakes. Contrast rules apply to text and meaningful graphics, not to decorative elements or disabled controls, which are exempt. A very high ratio like pure black on pure white can feel harsh to some readers, so slightly softened darks are often kinder while still passing. Remember the ratio depends only on the two colours, not on font family, so a legible ratio still needs a sensible font size and weight. And every calculation runs locally in your browser with the standard WCAG formula, so it is instant, works offline once loaded, and never uploads or stores the colours you test.
Relative luminance L = 0.2126·R + 0.7152·G + 0.0722·B (each channel gamma-adjusted from its 0–1 value). Contrast ratio = (L_light + 0.05) / (L_dark + 0.05), ranging 1:1 to 21:1. WCAG AA: ≥ 4.5:1 normal text, ≥ 3:1 large text. WCAG AAA: ≥ 7:1 normal text, ≥ 4.5:1 large text.
Input
#767676 text on #ffffff
Result
4.54:1 — passes AA normal, fails AAA normal
(1.0 + 0.05) / (0.1812 + 0.05) = 4.54, just over the 4.5:1 AA threshold but well under 7:1.
Input
#8c8c8c text on #ffffff
Result
3.36:1 — fails AA normal, passes AA large
Lightening the grey drops luminance contrast to 3.36, below 4.5:1 but above the 3:1 large-text rule.
Input
#595959 text on #ffffff
Result
7.00:1 — passes AA and AAA normal
Darkening the grey raises the ratio to exactly 7.00, clearing both 4.5:1 and 7:1.
Input
White text on Facebook blue #1877f2
Result
4.23:1 — fails AA normal text
A common brand pitfall: the pairing looks fine but sits below 4.5:1, so body copy needs a darker blue.
Choose a text color and a background color, and the Helperzy Color Contrast Checker calculates the contrast ratio between them using the official WCAG relative-luminance formula. It then shows pass or fail badges for AA and AAA levels with a live preview.
HEX to RGB Converter changes hex color codes to RGB and RGBA values instantly online for free. Live preview and copy-ready CSS in your browser.
Color Picker lets you pick any color and get HEX, RGB, and HSL values instantly online for free. Live preview and copy-ready codes in your browser.
RGB to HEX Converter changes RGB color values to hex codes instantly online for free. Live preview and copy-ready CSS hex in your browser.
Color Shades Generator creates lighter and darker shades of any color online for free. Build tint and shade palettes instantly in your browser.
Image Resizer changes image dimensions online — set exact pixels, use percentage scaling, or pick from 12 presets (Instagram, Passport, YouTube, etc.). Target specific file sizes like 50KB or 100KB. Batch resize multiple images. 100% free, browser-based.
Image Converter changes images between any format online free — JPG, PNG, WebP, AVIF, PDF, ICO, BMP, HEIC, GIF, SVG. Batch conversion, resize, rotate, flip, AI format recommendation. 100% browser-based, no upload.
Convert JPG to WebP format online free — reduce image file size by 25-35% with identical visual quality. Batch conversion, adjustable quality, lossless mode available. Boost website speed and Core Web Vitals scores. 100% browser-based, no upload needed.
Convert PNG to WebP format online free — reduce file size by 26-34% while preserving full transparency. Batch conversion, lossless and lossy modes, adjustable quality. Boost website performance and Core Web Vitals. 100% browser-based, no upload needed.