awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
gka avatar

gka/chroma.js

0
View on GitHub↗
10,569 stars·547 forks·JavaScript·15 viewsgka.github.io/chroma.js↗

Chroma.js

chroma.js is a JavaScript library for color manipulation, space conversion, and the generation of data visualization color scales. It provides a system for transforming colors between formats including RGB, HSL, Lab, LCH, OKLab, and CMYK, alongside tools for parsing and modifying colors across these spaces.

The library specializes in data-driven color mapping, using algorithms such as Cubehelix, Bezier interpolation, and ColorBrewer palettes to translate numeric data into visual gradients. It includes a perceptual color difference calculator that utilizes CIE 2000 Delta E and Euclidean metrics to measure the visual distance between colors.

Additional capabilities cover web accessibility auditing through WCAG contrast ratio and luminance calculations. The project also provides utilities for color blending, property adjustment, and the computation of data class breaks using quantile or k-means clustering.

Features

  • Color Space Converters - Transforms colors between diverse formats including RGB, HSL, Lab, and OKLab using mathematical translation matrices.
  • Color Palette Generators - Programmatically generates color scales and gradients from numeric data using custom domains and gamma correction.
  • Color Libraries - Offers a comprehensive JavaScript toolkit for parsing, converting, and modifying colors across diverse color spaces.
  • Colors - Provides a comprehensive library for parsing, converting, and manipulating colors across multiple formats in JavaScript.
  • Color Space Converters - Provides comprehensive conversion between RGB, HSL, HSV, HSI, Lab, Lch, Hcl, OKLab, OKLch, and CMYK spaces.
  • Color Mapping Converters - Maps numeric data values to color gradients using custom domains, quantiles, and logarithmic distributions.
  • Data Visualization Scales - Maps numeric data domains into visual color ranges for professional data visualization.
  • Numerical Range Scaling - Maps numeric data ranges to color gradients using linear, logarithmic, and quantile distribution scales.
  • Algorithmic Palettes - Creates sophisticated color schemes using the Cubehelix algorithm, Bezier interpolation, and ColorBrewer palettes.
  • Color Spaces - Adjusts brightness and saturation within perceptually uniform spaces like Lab and LCH for human-centric consistency.
  • Color Space Converters - Transforms colors between RGB, HSL, Lab, LCH, OKLab, and CMYK formats.
  • Perceptual Interpolations - Calculates smooth color transitions within CIELab and LCH spaces to ensure consistent visual brightness.
  • Space Instantiators - Instantiates colors using precise coordinates from spaces such as HSL, Lab, LCH, OKLab, and CMYK.
  • Color Rendering Adjustments - Provides tools for modifying lightness, saturation, and alpha channels to adjust color output for visual consistency.
  • Color String Parsers - Parses various color input formats, including hex strings and named colors, into standardized internal representations.
  • Contrast Validators - Computes contrast ratios between two colors using WCAG and APCA standards to ensure text accessibility.
  • Bézier Curve Interpolations - Implements Bezier curve interpolation to create smooth color gradients within perceptual color spaces.
  • Color Luminosity Calculators - Computes the relative brightness of colors based on WCAG definitions to facilitate target luminance adjustments.
  • Scale Color Extraction - Retrieves sets of equidistant colors or distinct class-based breaks from generated color scales.
  • Perceptual Color Difference Metrics - Quantifies the perceived difference between colors using the industry-standard CIE 2000 Delta E formula.
  • Perceptual Distance Calculators - Quantifies the perceived difference between colors using Euclidean distance or CIE 2000 Delta E.
  • Perceptual Color Difference Metrics - Measures visual distance between colors using the CIE 2000 Delta E and Euclidean metrics.
  • Accessibility Auditing Tools - Calculates contrast ratios and luminance according to WCAG standards to audit web accessibility.
  • Color Blending - Interpolates between multiple colors using weighted averages and various color spaces for blended results.
  • Gradient Refinements - Improves visual gradients using gamma correction, lightness normalization, and padding.
  • Blending Utilities - Provides blending utilities to combine colors using weighted averages and various blend modes.
  • Color Manipulation - Comprehensive library for color manipulation.
  • Utility and Math - Color manipulation library.
  • Color Utilities - Library for color processing and manipulation.
  • 颜色(CSS Colors)/SVG/Canvas - Listed in the “颜色(CSS Colors)/SVG/Canvas” section of the Awesome Frontend awesome list.

Star history

Star history chart for gka/chroma.jsStar history chart for gka/chroma.js

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Chroma.js

Similar open-source projects, ranked by how many features they share with Chroma.js.
  • bgrins/tinycolorbgrins avatar

    bgrins/TinyColor

    5,248View on GitHub↗

    TinyColor is a JavaScript color manipulation library used for parsing, converting, and modifying colors across various formats and color spaces. It functions as a color space conversion tool and a web accessibility contrast checker to ensure compliance with readability standards. The library provides a color palette generator for creating monochromatic, analogous, and complementary color schemes from a starting color. It also translates colors between hex, RGB, HSL, HSV, and named formats. Additional capabilities include color parsing and normalization, programmatic manipulation of brightnes

    JavaScript
    View on GitHub↗5,248
  • davidmerfield/randomcolordavidmerfield avatar

    davidmerfield/randomColor

    6,126View on GitHub↗

    randomColor is a programmatic utility for generating harmonious, aesthetically pleasing color strings for use in web stylesheets and digital user interfaces. It functions as a random color generator that produces values in hexadecimal, RGB, and HSL formats. The library uses a logic-based system that calculates hues and luminosity in HSL space to ensure visual harmony. It allows for the application of specific constraints to brightness, transparency, and hue offsets to limit the generated color spectrum. The tool provides capabilities for programmatic color generation across multiple output f

    JavaScript
    View on GitHub↗6,126
  • jariz/vibrant.jsjariz avatar

    jariz/vibrant.js

    4,594View on GitHub↗

    vibrant.js is a JavaScript color extraction library used to identify dominant color palettes from images based on the Android Palette algorithm. It functions as an image palette generator and a color processing tool that converts extracted data between RGB, HSL, and Hexadecimal formats. The library analyzes image pixels to categorize colors into specific profiles, including vibrant, muted, dark, and light. It also includes an accessible text color calculator that determines high-contrast hex colors for text overlays based on a selected background color. The toolset covers automated palette g

    CoffeeScript
    View on GitHub↗4,594
  • sharkdp/pastelsharkdp avatar

    sharkdp/pastel

    6,243View on GitHub↗
    Rustclicolor-convertercolor-space
    View on GitHub↗6,243
See all 30 alternatives to Chroma.js→

Frequently asked questions

What does gka/chroma.js do?

chroma.js is a JavaScript library for color manipulation, space conversion, and the generation of data visualization color scales. It provides a system for transforming colors between formats including RGB, HSL, Lab, LCH, OKLab, and CMYK, alongside tools for parsing and modifying colors across these spaces.

What are the main features of gka/chroma.js?

The main features of gka/chroma.js are: Color Space Converters, Color Palette Generators, Color Libraries, Colors, Color Mapping Converters, Data Visualization Scales, Numerical Range Scaling, Algorithmic Palettes.

What are some open-source alternatives to gka/chroma.js?

Open-source alternatives to gka/chroma.js include: bgrins/tinycolor — TinyColor is a JavaScript color manipulation library used for parsing, converting, and modifying colors across various… davidmerfield/randomcolor — randomColor is a programmatic utility for generating harmonious, aesthetically pleasing color strings for use in web… jariz/vibrant.js — vibrant.js is a JavaScript color extraction library used to identify dominant color palettes from images based on the… sharkdp/pastel. vicc/chameleon — Chameleon is a color framework for Swift and Objective-C applications, providing a toolkit for managing dynamic… qix-/color — This is a JavaScript color manipulation library used for converting color spaces, formatting CSS strings, and…