# Evercoder/culori

A comprehensive color library for JavaScript.

Repository: https://github.com/Evercoder/culori
Canonical: https://ross.abutalabs.com/products/culori
Homepage: https://culorijs.org
Language: JavaScript
License: MIT
License Family: permissive
Topics: css-color, rgb, hsv, cielab, cielch, hsl, din99, hwb, color-difference, color, ictcp, interpolation, jzazbz, lab, oklab
Last push: 2026-07-02T05:34:24+00:00

## Health v2 (maintenance only)
Score: 63/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 90, release rhythm 8, longevity 100
- inputs: {"age_days": 3081, "days_push": 62, "days_rel": 432, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1225, forks 37 (observed 2026-08-28T04:04:03.000370+00:00)

## What it is
Culori is a comprehensive JavaScript color library supporting conversion, interpolation, blending, and color difference formulas across many color spaces, including all formats from the CSS Colors Level 4 specification. It uses a function-oriented API where colors are plain JavaScript objects, and offers a tree-shakeable build for optimized bundle sizes.

## Use cases
- convert colors between rgb, hsl, lab, oklab, and other color spaces
- parse and format CSS color strings including hex, rgb(), and color() functions
- compute perceptual color difference between two colors
- interpolate colors to build gradients
- blend colors with blend modes
- manipulate alpha channels accurately in color values
- build a color picker or design tool in JavaScript

## When to choose
- you need broad, standards-compliant color space support in JavaScript or TypeScript
- you want a lightweight, tree-shakeable library for browser bundles
- you need accurate color difference formulas like CIE Lab or OKLab
- you prefer a functional API with colors as plain objects

## When to avoid
- you need color management with ICC profiles
- you work primarily in a non-JavaScript language
- you need image-level color processing rather than individual color values

## Facets
- artifact type: library
- maturity: stable
- function: serialization, developer-tools
- domain: web-development, frontend, graphics
- platform: browser, cross-platform
- tags: color, color-space, css-color, color-conversion, interpolation, color-difference, tree-shakeable, algorithms, javascript, nodejs, deno

## Member repositories
- Evercoder/culori (main) score 63

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:03.000370+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:15:22.030631+00:00, confidence not recorded.
  - readme: https://github.com/Evercoder/culori (fetched 2026-08-28T04:04:03.000370+00:00, sha 048d3c6cd674)
  - homepage: https://culorijs.org (fetched 2026-08-29T12:23:19.300701+00:00, sha 36053808eb6f)
  - site_page: https://culorijs.org/getting-started (fetched 2026-08-29T12:23:19.303181+00:00, sha ef99da4c0ff8)
- Data as of 2026-08-30T08:39:29.467469+00:00.
