컬러 피커로 건너뛰기

무료 컬러 API

색 파싱과 변환, 대비 검사, 스케일과 팔레트 생성, 색각 이상 시뮬레이션, 디자인 토큰 내보내기를 평범한 HTTP로 처리하세요. API 키도 가입도 필요 없고, 입력과 출력은 JSON입니다.

  • API 키도 가입도 필요 없음
  • 쿼리 파라미터로 GET, 또는 JSON으로 POST
  • CORS 허용, 어떤 사이트에서도 호출 가능
  • 사이트와 같은 계산: CSS Color 4

엔드포인트

  • Describe a color

    GET, POST /api/v1/parse-color

    Read any color and describe it: HEX, RGB, HSL and OKLCH values, the closest human name, the closest Tailwind class, its hue family, whether it fits sRGB and Display P3, and which text color, white or black, reads better on it.

    실행해 보기: /api/v1/parse-color?color=oklch%2862%25+0.21+260%29

    POST 본문

    curl -X POST https://pickshade.com/api/v1/parse-color \
      -H 'Content-Type: application/json' \
      -d '{"color":"oklch(62% 0.21 260)"}'
  • Convert a color

    GET, POST /api/v1/convert-color

    Convert a color between formats: hex, rgb, hsl, hsv, hwb, cmyk, lab, lch, oklab, oklch, display-p3, rec2020, xyz and platform code (swiftui, uikit, flutter, android). Values follow CSS Color 4.

    실행해 보기: /api/v1/convert-color?color=%23ff5733&formats=oklch%2Chsl%2Ccmyk

    POST 본문

    curl -X POST https://pickshade.com/api/v1/convert-color \
      -H 'Content-Type: application/json' \
      -d '{"color":"#ff5733","formats":["oklch","hsl","cmyk"]}'
  • Find colors by name

    GET, POST /api/v1/find-colors

    Search color names by words, like "sage", "dusty rose", "midnight blue" or "бордовый", and get their HEX values. Searches common names in English and Russian and about 30 000 extended color names. Use it to turn a description into real colors.

    실행해 보기: /api/v1/find-colors?query=sage&limit=5

    POST 본문

    curl -X POST https://pickshade.com/api/v1/find-colors \
      -H 'Content-Type: application/json' \
      -d '{"query":"sage","limit":5}'
  • Check text contrast

    GET, POST /api/v1/check-contrast

    Check text contrast against a background with both WCAG 2 (ratio, AA and AAA for normal and large text) and APCA (Lc value and the usage level it allows). Also suggests the nearest text color that passes AA and AAA while keeping its hue.

    실행해 보기: /api/v1/check-contrast?text=%236b7280&background=%23ffffff

    POST 본문

    curl -X POST https://pickshade.com/api/v1/check-contrast \
      -H 'Content-Type: application/json' \
      -d '{"text":"#6b7280","background":"#ffffff"}'
  • Fix contrast

    GET, POST /api/v1/fix-contrast

    Find the closest color that reaches a contrast target by changing only OKLCH lightness, so the hue and character stay. Targets: aa (4.5:1), aa-large (3:1), aaa (7:1), apca-body (Lc 75), apca-content (Lc 60), apca-large (Lc 45). Adjust the text color or the background.

    실행해 보기: /api/v1/fix-contrast?text=%23f97316&background=%23ffffff&target=aa&adjust=text

    POST 본문

    curl -X POST https://pickshade.com/api/v1/fix-contrast \
      -H 'Content-Type: application/json' \
      -d '{"text":"#f97316","background":"#ffffff","target":"aa","adjust":"text"}'
  • Audit a palette for accessibility

    GET, POST /api/v1/audit-palette

    Check every text and background pair in a palette with WCAG 2 and APCA, list which pairs are safe for body text, large text or only decoration, find colors that people with color blindness cannot tell apart, and flag colors outside sRGB. Use it before shipping a theme or chart palette.

    실행해 보기: /api/v1/audit-palette?colors=%230f172a%2C%23f8fafc%2C%232563eb%2C%23f97316%2C%2316a34a

    POST 본문

    curl -X POST https://pickshade.com/api/v1/audit-palette \
      -H 'Content-Type: application/json' \
      -d '{"colors":["#0f172a","#f8fafc","#2563eb","#f97316","#16a34a"]}'
  • Check gamut

    GET, POST /api/v1/check-gamut

    Check whether a color fits the sRGB, Display P3 and Rec. 2020 gamuts, and get the closest sRGB fallback that keeps lightness and hue (CSS Color 4 gamut mapping in OKLCH).

    실행해 보기: /api/v1/check-gamut?color=oklch%2870%25+0.3+145%29

    POST 본문

    curl -X POST https://pickshade.com/api/v1/check-gamut \
      -H 'Content-Type: application/json' \
      -d '{"color":"oklch(70% 0.3 145)"}'
  • Find color names

    GET, POST /api/v1/nearest-names

    Find the closest named colors, CSS color keywords and Tailwind CSS classes for a color, ranked by perceptual distance (deltaE OK).

    실행해 보기: /api/v1/nearest-names?color=%231e3a8a&limit=3

    POST 본문

    curl -X POST https://pickshade.com/api/v1/nearest-names \
      -H 'Content-Type: application/json' \
      -d '{"color":"#1e3a8a","limit":3}'
  • Compare two colors

    GET, POST /api/v1/compare-colors

    Compare two colors: CIEDE2000 and deltaE OK difference with a plain verdict (identical, nearly, similar, different, opposite), lightness shift in percent, chroma and hue shift, and the contrast between them.

    실행해 보기: /api/v1/compare-colors?first=teal&second=turquoise

    POST 본문

    curl -X POST https://pickshade.com/api/v1/compare-colors \
      -H 'Content-Type: application/json' \
      -d '{"first":"teal","second":"turquoise"}'
  • Generate a 50–950 scale

    GET, POST /api/v1/generate-scale

    Build an 11-step tint and shade scale (50, 100 … 900, 950) from one color in OKLCH, the same shape as Tailwind palettes, with even perceived lightness steps.

    실행해 보기: /api/v1/generate-scale?color=%233b82f6

    POST 본문

    curl -X POST https://pickshade.com/api/v1/generate-scale \
      -H 'Content-Type: application/json' \
      -d '{"color":"#3b82f6"}'
  • Tints, shades and tones

    GET, POST /api/v1/tints-shades

    Get tints (mixed with white), shades (mixed with black) and tones (mixed with gray) of a color, evenly spaced, as HEX. Good for hover states, borders and backgrounds.

    실행해 보기: /api/v1/tints-shades?color=%232563eb&steps=5

    POST 본문

    curl -X POST https://pickshade.com/api/v1/tints-shades \
      -H 'Content-Type: application/json' \
      -d '{"color":"#2563eb","steps":5}'
  • Color harmonies

    GET, POST /api/v1/harmonies

    Get color harmonies for a base color, computed in OKLCH so lightness stays even: complementary, split-complementary, analogous, triadic, tetradic, square and monochromatic.

    실행해 보기: /api/v1/harmonies?color=%23ff5733&kind=triadic

    POST 본문

    curl -X POST https://pickshade.com/api/v1/harmonies \
      -H 'Content-Type: application/json' \
      -d '{"color":"#ff5733","kind":"triadic"}'
  • Mix two colors

    GET, POST /api/v1/mix-colors

    Mix two colors at a ratio in a chosen color space, like CSS color-mix(). OKLab keeps the middle bright, sRGB tends to turn gray. Returns the result and a ready color-mix() expression.

    실행해 보기: /api/v1/mix-colors?first=%23ff5733&second=%233b82f6&amount=30&space=oklab

    POST 본문

    curl -X POST https://pickshade.com/api/v1/mix-colors \
      -H 'Content-Type: application/json' \
      -d '{"first":"#ff5733","second":"#3b82f6","amount":30,"space":"oklab"}'
  • Make a CSS gradient

    GET, POST /api/v1/make-gradient

    Build a CSS gradient from 2 or more colors with interpolation in OKLab, OKLCH or sRGB. Returns modern CSS with the color space, a fallback with precomputed stops for older browsers, and the stop colors. OKLab avoids the gray middle that sRGB gradients get.

    실행해 보기: /api/v1/make-gradient?colors=%232563eb%2C%23f97316&kind=linear&angle=90&space=oklab

    POST 본문

    curl -X POST https://pickshade.com/api/v1/make-gradient \
      -H 'Content-Type: application/json' \
      -d '{"colors":["#2563eb","#f97316"],"kind":"linear","angle":90,"space":"oklab"}'
  • Generate a palette

    GET, POST /api/v1/generate-palette

    Generate a harmonious palette in OKLCH. Keep colors you already have, pick a style (auto, analogous, complementary, triadic, monochromatic, pastel, vivid, muted, dark) and pass a seed to get the same palette every time.

    실행해 보기: /api/v1/generate-palette?keep=%230f172a&mode=analogous&size=5&seed=brand

    POST 본문

    curl -X POST https://pickshade.com/api/v1/generate-palette \
      -H 'Content-Type: application/json' \
      -d '{"keep":["#0f172a"],"mode":"analogous","size":5,"seed":"brand"}'
  • Simulate color blindness

    GET, POST /api/v1/simulate-cvd

    Show how colors look with protanopia, deuteranopia, tritanopia and achromatopsia (Machado 2009 at full severity), and list the pairs that become hard to tell apart.

    실행해 보기: /api/v1/simulate-cvd?colors=%23e11d48%2C%2316a34a%2C%232563eb

    POST 본문

    curl -X POST https://pickshade.com/api/v1/simulate-cvd \
      -H 'Content-Type: application/json' \
      -d '{"colors":["#e11d48","#16a34a","#2563eb"]}'
  • Export colors as code

    POST /api/v1/export-tokens

    Turn a list of colors into ready code: CSS custom properties, a Tailwind v4 @theme block, SCSS variables, JSON, W3C design tokens (DTCG), a JavaScript array or an SVG swatch strip. Unnamed colors get their closest color name.

    POST 본문

    curl -X POST https://pickshade.com/api/v1/export-tokens \
      -H 'Content-Type: application/json' \
      -d '{"colors":[{"color":"#0f172a","name":"ink"},{"color":"#f97316"}],"format":"tailwind","values":"oklch"}'
  • Build a design system

    GET, POST /api/v1/build-system

    Build a full color system from a brand color: 50–950 scales for primary, secondary, accent, neutral and status colors, light and dark theme roles, exported as a Tailwind v4 theme, CSS variables, shadcn/ui globals.css or DTCG tokens, with a contrast audit of text and surface pairs.

    실행해 보기: /api/v1/build-system?primary=%236d4aff&format=shadcn

    POST 본문

    curl -X POST https://pickshade.com/api/v1/build-system \
      -H 'Content-Type: application/json' \
      -d '{"primary":"#6d4aff","format":"shadcn"}'

제한

IP 주소당 초당 약 10건의 요청을 보낼 수 있으며 짧은 순간적 증가는 허용됩니다. 이를 넘으면 API가 Retry-After 헤더와 함께 429를 반환합니다. 변하지 않는 결과는 하루 동안 캐시되므로 같은 요청은 즉시 응답합니다.

자주 묻는 질문

API 키가 필요한가요?

아니요. API는 무료이며 공개되어 있습니다. 서버, 스크립트, 브라우저에서 HTTPS로 엔드포인트를 호출하기만 하면 됩니다.

어떤 색 형식을 받나요?

모든 CSS 색을 받습니다. HEX, rgb(), hsl(), hwb(), lab(), lch(), oklab(), oklch(), color(display-p3 …)에 더해 navy 같은 CSS 이름, royal blue 같은 일반 색 이름, sky-500 같은 Tailwind 클래스도 쓸 수 있습니다.

오류는 어떻게 알려 주나요?

오류는 application/problem+json 형식으로 title과 무엇을 고쳐야 하는지 알려 주는 detail을 담아 반환합니다. 예를 들어 문자열을 색으로 읽을 수 없을 때가 그렇습니다.