Skip to content

colorjs/color-parse

Repository files navigation

color-parse test size stable

Fast and compact color string parser.

$ npm install color-parse

var parse = require('color-parse')

parse('hsla(12 10% 50% / .3)')
// { space: 'hsl', values: [12, 10, 50], alpha: 0.3 }

Parsed strings

  • Color keywords: red, green etc., see color-name
  • #RGB[A]
  • #RRGGBB[AA]
  • rgb[a](R, G, B[, A])
  • rgb(R G B[ / A])
  • hsl[a](H, S, L[, A]), inc. named hues
  • hsl(H S L [ / A])
  • hwb(H, W, B)
  • cmyk(C, M, Y, K)
  • xyz(X, Y, Z)
  • luv(L, U, V)
  • luv(L U V[ / A])
  • lab(L, A, B)
  • lab(L a b[ / A]) - see limits
  • lch(L, C, H)
  • lch(L C H[ / A]) - see limits
  • oklab(L a b[ / A]) - see limits
  • oklch(L C H[ / A]) - see limits
  • color(space c1 c2 c3[ / A])
  • R:10 G:20 B:30
  • (R10 / G20 / B30)
  • C100/M80/Y0/K35
  • [10, 20, 20] as RGB
  • 10,20,20 as RGB
  • 0x00ff00, 0x0000ff numbers as RGB

Not parsed

  • unknown strings eg. 'yellowblue'
  • not strings: object, arrays etc.

Related

  • color-space — collection of color space conversions.
  • color-rgba — convert any color string to rgba array.
  • color-alpha — change alpha component of any color.

Analogs

  • parse-color — parser by @substack. Performs calculations to every possible space, which bloats size.
  • color-parser — parser by @tjholowaychuk. Supports limited set of spaces.
  • color-string — parsing/serializing module by Heather Arthur. Has extensive API for parsing and serializing from any to any space.

NPM