A comprehensive color library for JavaScript.
1.2k
Stars
37
Forks
25
Open issues
16
Contributors
AI Analysis
Culori is a comprehensive JavaScript color library that provides conversion, interpolation, color difference calculations, and blending across numerous color spaces (RGB, HSL, Lab, Oklab, DIN99, and others) with up-to-date CSS Color Module Level 4 compliance. It serves developers building color-intensive applications, data visualizations, design tools, and web applications requiring precise color manipulation and perceptual accuracy. Best suited for frontend developers, design system maintain...
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Lightweight color library covering CSS Color Module Level 4 with steady maintenance and niche adoption
Culori is a JavaScript color manipulation library providing conversion, interpolation, and blending across modern CSS color spaces. It targets developers building color-intensive applications who need comprehensive, spec-compliant color handling beyond basic hex/rgb operations. Adoption appears limited to specialized use cases (design tools, visualization libraries); it holds ~1,200 GitHub stars and remains actively maintained but grows slowly.
Created in March 2018, Culori emerged to provide spec-compliant color space support as CSS Color Module Level 4 standardization progressed. It positions itself as a complete reference implementation rather than a lightweight utility, distinguishing it from earlier libraries like chroma.js that focused on simpler color operations.
The project gained ~1,200 stars over 8 years with minimal recent acceleration (1 star in past 7 days as of July 2026). Growth appears tied to CSS standardization cycles and adoption by niche communities (design systems, data visualization). No evidence of viral adoption or major ecosystem shift; trajectory suggests stable, modest usage rather than declining interest.
Adoption not verified. No documented enterprise users, production case studies, or usage statistics in README. The library is published to npm and maintained, suggesting some real-world deployment, but scale and breadth of adoption remain opaque. Similar libraries (chroma.js, color.js) have higher star counts, which may indicate narrower market penetration for culori specifically.
Based on README, culori appears organized around color space abstractions with separate concerns for conversion, interpolation, and blending. Likely modular to support extensibility across diverse CSS color spaces (sRGB, Lab, LCH, OKLab, etc.). Specific implementation patterns not verifiable from README alone.
Not documented in README. Bundle size is explicitly tracked (referenced via bundlephobia badge), suggesting attention to performance, but test methodology and coverage percentages absent from available documentation.
Last push 2026-07-02 (6 days before analysis date) indicates active maintenance. Repository has been continuously maintained across 8 years with no multi-month gaps apparent. README references up-to-date CSS Color Module Level 4 compliance, suggesting ongoing specification tracking. However, slow star growth and minimal recent commits beyond maintenance suggest this is a mature, stable project rather than a rapidly evolving one.
ADOPT IF: you need comprehensive, CSS Color Module Level 4-compliant color space handling and are comfortable with a library of modest (but stable) ecosystem presence. AVOID IF: you require extensive real-world production examples, active community forums, or frequent feature additions — culori is maintenance-focused, not rapidly evolving. MONITOR IF: you are evaluating between culori and color.js for spec-compliant work; adoption data for both remains limited, and the competitive landscape may shift as these libraries mature.
Independent dimensions
Mainstream potential
3/10
Technical importance
7/10
Adoption evidence
2/10
- Adoption breadth not documented — real-world usage remains opaque, making long-term sustainability prediction uncertain.
- Slow growth trajectory (1 star/week) raises questions about whether the library is meeting actual market demand or remains niche.
- Competitor color.js has similar positioning and comparable adoption; unclear if culori will maintain differentiation or face pressure.
- Active maintenance does not guarantee rapid bug fixes or responsiveness if production issues arise in heavy-use contexts.
- No documented API stability policy or versioning strategy visible in README, creating potential upgrade risk for production users.
Culori will likely remain a stable, niche reference library for developers requiring precise CSS color space compliance. Adoption growth will remain modest unless broader web standardization or major framework integration drives demand. Project faces slow obsolescence risk if competing libraries (especially color.js) capture more ecosystem mindshare, but current maintenance pattern suggests multi-year viability.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Website
- https://culorijs.org
- Language
- JavaScript
- License
- MIT
- Last updated
- 1w ago
- Created
- 101mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Add display-p3-linear color space
Change rec2020 transfer function to match upcoming changes in css-color-4
Organize API Docs
clampChroma in sRGB: pure blue gives unexpected results
Conversion between `oklch` and `okhsl`
Top contributors
Recent releases
Similar repos
evilmartians/oklch-picker
A specialized color picker and converter tool for OKLCH and LCH color spaces,...
lokesh/color-thief
Color Thief extracts dominant colors and semantic color palettes from images in...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
1.2k | +3 | JavaScript | 8/10 | 1w ago |
|
|
2.3k | — | JavaScript | 9/10 | 4d ago |
|
|
10.6k | — | JavaScript | 7/10 | 1mo ago |
|
|
1.9k | — | TypeScript | 8/10 | 6d ago |
|
|
13.6k | — | TypeScript | 8/10 | 1w ago |
|
|
6.1k | — | JavaScript | 7/10 | 7mo ago |
chroma.js (10,571 stars) has ~9× higher adoption and broader mindshare. Culori appears more spec-focused on CSS Color Module Level 4; chroma.js prioritizes ease of use for common tasks. Culori likely appeals to developers requiring precise color space compliance; chroma.js suits general-purpose color manipulation.
color.js (2,258 stars) is newer and positioned similarly around CSS Color Module Level 4. Culori has lower adoption (~1,207 stars) and is older (created 2018 vs. inferred later for color.js). Unclear which has broader real-world traction; adoption dynamics between these two not verifiable from available data.
oklch-picker (1,921 stars) is a specialized tool/UI component rather than a general library. Targets different user segment (designers picking colors vs. developers building color systems). Not direct replacement for culori.
These solve different problems (palette extraction and random generation respectively). Orthogonal to culori's core mission of color space conversion and interpolation.