ColorDetector

The ColorDetector blog

Color, made clearer

Practical writing on color theory, accessibility, palettes and front-end color.

Reading Brand Colors From a Screenshot Accurately

Anti-aliasing, JPEG artifacts, hidden gradients, transparency and color profiles all quietly corrupt a sampled color. How to spot each one and get a value you can trust. Aug 24, 2026 · 8 min read

Extracting a Usable Palette From a Photograph

Automatic extraction gives you the colors covering the most area — which is rarely the palette an interface needs. How to turn six photo swatches into three working colors. Aug 20, 2026 · 8 min read

Designing a Dark Mode Palette, Not an Inversion

Why pure black is the wrong background, how elevation replaces shadow, and the saturation adjustment that stops brand colors vibrating on a dark surface. Aug 17, 2026 · 9 min read

Naming Colors in a Design System

Why gray-darkest is a dead end, how the two-layer primitive and semantic token pattern works, and what it takes to change a brand color in exactly one place. Aug 13, 2026 · 9 min read

Choosing Chart Colors That Tell the Truth

Categorical, sequential and diverging scales, why rainbow colormaps mislead, how many series colors a reader can hold at once, and the contrast rules that apply to marks. Aug 10, 2026 · 9 min read

CSS Gradients That Don't Turn Muddy in the Middle

Why interpolating between opposite hues passes through gray, three ways to fix it, the transparent-fade bug, and what causes visible banding on large gradients. Aug 6, 2026 · 8 min read

Choosing Colors for SVG Icons

Why small strokes need more contrast than the minimum, how currentColor removes an entire class of theming bug, and why status icons must differ in shape as well as hue. Aug 3, 2026 · 8 min read

Color in HTML Email: Why the Rules Are Different

No custom properties, clients that rewrite your palette for dark mode, and gradients Outlook ignores. A practical guide to color that survives the inbox. Jul 30, 2026 · 8 min read

Why the Same HEX Code Looks Different on Every Screen

A HEX code is an instruction, not a color. sRGB versus wide gamut, embedded profiles, panel variance — and where precision is worth chasing and where it is not. Jul 28, 2026 · 8 min read