Light gray on white looks fine to you. It is 2.8 : 1.
Type any two colors. You get the exact WCAG contrast ratio, the pass or fail verdicts, and the closest color that actually passes, so you change as little of your design as possible.
1. Your pair
0
: 1 contrast
Live preview
Large text, 24 px bold
Normal body text at 16 px. The quick brown fox jumps over the lazy dog, 0123456789.
Large text means at least 18 point, or 14 point bold, in the guideline's definition.
Guess first: does it pass AA for body text?
Sample body text
Eyes are unreliable near the line. Make the call, then see the number.
Score: 0 of 0
2. Nearest passing colors
Each fix keeps the hue and saturation and moves only lightness, the shortest move that reaches the target. Click a chip to apply it.
3. Where it flips: ratio against text lightness
4. Check a whole palette at once
Rows are text, columns are backgrounds. Green: at least 7. Light green: 4.5 to 7. Amber: 3 to 4.5. Red: below 3. Click a cell to load that pair above.