Generate unique and beautiful colors from any texts or numbers
uniqolor is a fast and lightweight javascript library for generating unique and beautiful colors from any texts or numbers.
npm
or yarn
$ npm install uniqolor
# or
$ yarn add uniqolor
ES6 Import:
import uniqolor from 'uniqolor';
CommonJS (like nodejs, webpack, and browserify):
const uniqolor = require('uniqolor');
AMD (like RequireJS):
define(['uniqolor'], function (uniqolor) {
// ...
})
<script>
Include uniqolor.js
or uniqolor.min.js
into your html file:
<script src="https://unpkg.com/uniqolor/dist/uniqolor.min.js" type="text/javascript"></script>
<script type="text/javascript">
var color = uniqolor('Hello world!');
</script>
/* Generate unique color from texts or numbers */
uniqolor('Hello world!')
// { color: "#5cc653", isLight: true }
uniqolor('bf545d4c-5360-4158-a572-bd3e204185a9', { format: 'rgb' })
// { color: "rgb(128, 191, 64)", isLight: true }
uniqolor(123, {
saturation: [35, 70],
lightness: 25,
})
// { color: "#405926", isLight: false }
uniqolor(123, {
saturation: [35, 70],
lightness: 25,
differencePoint: 50,
})
// { color: "#405926", isLight: true }
// Generate random color
uniqolor.random()
// { color: "#644cc8", isLight: false }
// Generate a random color with HSL format
uniqolor.random({ format: 'hsl' })
// { color: "hsl(89, 55%, 60%)", isLight: true }
// Generate a random color in specific saturation and lightness
uniqolor.random({
saturation: 80,
lightness: [70, 80],
})
// { color: "#c7b9da", isLight: true }
// Generate a random color but exclude red color range
uniqolor.random({
excludeHue: [[0, 20], [325, 359]],
})
// {color: '#53caab', isLight: true}
Object
Generate unique color from value
Params:
value
(type: string|number
)options
(type: Object
, default: {}
)options.format
(type: string
, default: 'hex'
): The color format, it can be one of hex
, rgb
or hsl
options.saturation
(type: number|Array
, default: [50, 55]
): Determines the color saturation, it can be a number or a range between 0 and 100options.lightness
(type: number|Array
, default: [50, 60]
): Determines the color lightness, it can be a number or a range between 0 and 100options.differencePoint
(type: number
, defualt: 130
): Determines the color brightness difference point. We use it to obtain the isLight
value in the output, it can be a number between 0 and 255Output:
color
(type: string
): The generated colorisLight
(type: boolean
): Determines whether the color
is a light color or a dark color (It's good for choosing a foreground color, like font color)Object
Generate random color
Params:
options
(type: Object
, default: {}
)options.format
(type: string
, default: 'hex'
): The color format, it can be one of hex
, rgb
or hsl
options.saturation
(type: number|Array
, default: [50, 55]
): Determines the color saturation, it can be a number or a range between 0 and 100options.lightness
(type: number|Array
, default: [50, 60]
): Determines the color lightness, it can be a number or a range between 0 and 100options.differencePoint
(type: number
, default: 130
): Determines the color brightness difference point. We use it to obtain the isLight
value in the output, it can be a number between 0 and 255options.excludeHue
(type: Array
): Exclude certain hue ranges. For example to exclude red color range: [[0, 20], [325, 359]]
.Your ideas and contributions are welcome; check out our contributing guide
The unicorn shape in the logo made by Freepik is licensed by CC 3.0 BY
MIT © 2017 Rasool Dastoori