Convert and check colours

Between hex, RGB, HSL and Lab — and the WCAG contrast ratio against another colour.

Options
1 credit

Needs Colour.

What it does

Also called: convert a colour between formats · hex to rgb · check colour contrast for accessibility.

Use it from your own code

The same endpoint this page calls — no daily cap, 1 credit a call either way.

POST /v1/core/color-convert

curl -X POST "$DOATHING_API/v1/core/color-convert" \
  -H "x-api-key: $DOATHING_KEY" \
  -H "content-type: application/json" \
  -d '{"color": "#C15F3C", "against": "#F0EEE6"}'

Between hex, RGB, HSL and Lab — and the WCAG contrast ratio against another colour.

Convert colours between hex, rgb, hsl and CIELAB, and compute WCAG 2.1 contrast ratios.

Response

The result carries your remaining balance alongside it, so you can track spend without a second call.

{
  "hex": "#C15F3C",
  "rgb": [
    193,
    95,
    60
  ],
  "contrast": {
    "ratio": 3.64,
    "aa_normal": false,
    "aa_large": true
  },
  "request_id": "37f01edb-0163-42a1-ac51-0acaef979800",
  "credits_remaining": 96
}

Cost

1 credit per call, whether it is run from the site or from the API — the credential differs, the price does not. A new account starts with 20 credits.

A rejected request still costs a credit: the authorizer decrements before the tool validates. A call rejected for a missing or invalid key is free.

Parameters

Generated from the endpoint’s own validation, so this is exactly what it accepts. A body field goes at the top level; an option goes inside options.

NameInTypeDefaultNotes
colour *bodystring—
againstbodystring—
shadesoptionsbooleanfalseAlso return a nine-step lightness ramp.