TinyColor
Fast, small color manipulation and conversion for JavaScript
... are optional, and most input allow either 0-1, 0%-100%, or 0-n (where n is either 100, 255, or 360 depending on the value). HSL and HSV both require either 0%-100% or 0-1 for the S/L/V properties. The H (hue) can have values between 0%-100% or 0-360. RGB input requires either 0-255 or 0%-100%.