GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - gka/chroma.js: JavaScript library for all kinds of color manipulations

BranchesTags
Open more actions menu

Latest commit

 

History

631 Commits
631 Commits

Folders and files

NameName
Last commit message
Last commit date
.bin
.bin
 
 
.changeset
.changeset
 
 
.github
.github
 
 
.husky
.husky
 
 
dist
dist
 
 
docs
docs
 
 
src
src
 
 
test
test
 
 
.gitignore
.gitignore
 
 
.npmignore
.npmignore
 
 
.travis.yml
.travis.yml
 
 
CHANGELOG.md
CHANGELOG.md
 
 
LICENSE
LICENSE
 
 
eslint.config.mjs
eslint.config.mjs
 
 
index-light.js
index-light.js
 
 
index.js
index.js
 
 
index.umd.js
index.umd.js
 
 
index.umd.light.js
index.umd.light.js
 
 
package.json
package.json
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
prettier.config.js
prettier.config.js
 
 
readme.md
readme.md
 
 
rollup.config.js
rollup.config.js
 
 
vitest.config.mjs
vitest.config.mjs
 
 

Repository files navigation

Chroma.js

Chroma.js is a tiny small-ish zero-dependency JavaScript library for all kinds of color conversions and color scales.

Build Status Build size

Usage

Install from npm

npm install chroma-js

Import package into project

import chroma from "chroma-js";

Initiate and manipulate colors:

chroma('#D4F880').darken().hex();  // #a1c550

Working with color scales is easy, too:

scale = chroma.scale(['white', 'red']);
scale(0.5).hex(); // #FF7F7F

Lab/Lch interpolation looks better than RGB

chroma.scale(['white', 'red']).mode('lab');

Custom domains! Quantiles! Color Brewer!!

chroma.scale('RdYlBu').domain(myValues, 7, 'quantiles');

And why not use logarithmic color scales once in your life?

chroma.scale(['lightyellow', 'navy']).domain([1, 100000], 7, 'log');

Like it?

Why not dive into the interactive documentation (there's a static version, too). You can download chroma.min.js or use the hosted version on unpkg.com.

You can use it in node.js, too!

npm install chroma-js

Or you can use it in SASS using chromatic-sass!

Want to contribute?

Come over and say hi in our Discord channel!

Build instructions

First clone the repository and install the dev dependencies:

git clone [email protected]:gka/chroma.js.git
cd chroma.js
npm install

Then compile the coffee-script source files to the build files:

npm run build

Don't forget to tests your changes! You will probably also want to add new test to the /test folder in case you added a feature.

npm test

And to update the documentation just run

npm run docs

To preview the docs locally you can use

npm run docs-preview

Similar Libraries / Prior Art

  • Chromatist
  • GrapeFruit (Python)
  • colors.py (Python)
  • d3.js
  • Color Art (Rust)

Author

Chroma.js is written by Gregor Aisch.

License

Released under BSD license. Versions prior to 0.4 were released under GPL.

Further reading

  • How To Avoid Equidistant HSV Colors
  • Mastering Multi-hued Color Scales with Chroma.js

FAQ

There have been no commits in X weeks. Is chroma.js dead?

No! It's just that the author of this library has other things to do than devoting every week of his life to making cosmetic changes to a piece of software that is working just fine as it is, just so that people like you don't feel like it's abandoned and left alone in this world to die. Bugs will be fixed. Some new things will come at some point. Patience.

I want to help maintaining chroma.js!

Yay, that's awesome! Please say hi at our Discord chat to get in touch

About

JavaScript library for all kinds of color manipulations

gka.github.io/chroma.js/

Topics

chromacolor-conversioncolor-manipulationcolorsjavascript-librarymanipulate-colors

Resources

Readme
License
Activity

Stars

10.6k stars

Watchers

125 watching

Forks

560 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.