Skip to content

Understand

Color debt linter

Find the colours in your CSS that are the same colour under different names.

What color debt is

25%

colour debt

3 of 12 colours could be deleted without anyone seeing a difference.

Distinct colours

12

Declarations

20

Files scanned

3

The whole palette, most-used first

ΔE < 2.3 — the same colour in practice. Keep one, replace the rest.

Keep

Replace #0F172B

1
#0f172b·1 use·src/app/globals.css:1

Keep

Replace #314158

1
#314158·1 use·src/app/globals.css:1

Keep

Replace #90A1B9

1
#90a1b9·1 use·src/app/globals.css:1

Take the report with you

Untimestamped, so the same files always produce a byte-identical report — commit it, diff it, paste it where the decision is actually being argued.

## Colour debt

**3 of 12 colours are removable** (25%), across 20 declarations in 3 files.

### Duplicates (ΔE < 2.3 — the same colour in practice)

| Keep | Merge | Uses | First seen | ΔE spread |
| --- | --- | ---: | --- | ---: |
| `#0F172A` | `#0F172B` | 1 | `src/app/globals.css:1` | 0.54 |
| `#334155` | `#314158` | 1 | `src/app/globals.css:1` | 1.19 |
| `#94A3B8` | `#90A1B9` | 1 | `src/app/globals.css:1` | 1.27 |

### Near-misses (ΔE < 5 — visible, but not reliably)

| A | B | ΔE | First seen |
| --- | --- | ---: | --- |
| `#2563EB` | `#3070F0` | 4.51 | `src/styles/tokens.legacy.css:1` |

Thresholds: ΔE < 2.3 is the CIEDE2000 just-noticeable difference; ΔE < 5 is visible under comparison but not across displays. Survivors are always colours already in the codebase, never averages, so the diff stays reviewable.
All tools