What it is for
Placeholder colours for a mockup, random test data for a chart, or a quick palette to break design block. Each colour is drawn from crypto.getRandomValues, so the sequence is not predictable from a seed — genuinely random, not a pseudo-random walk.
Using random colours well
- For avatars and tags, constrain lightness so text stays readable
- For charts, generate then hand-tune — pure random hues clash
- For placeholder images, pair the colour with a contrasting monogram
Accessibility reminder
Random colours ignore contrast. If you generate a background, compute the text colour from luminance (dark text on light backgrounds, light on dark) or run the pair through the WCAG checker before shipping.
True randomness vs seeded
Some generators use a seeded PRNG so the same input gives the same palette — useful for reproducible tests. This one is deliberately unseeded: every click gives new colours.
Frequently Asked Questions
Can I get the same colours again?
No — generation is unseeded by design. Copy the hex list if you need to keep it.
Are the colours truly random?
They come from the Web Crypto API, which is suitable for any non-cryptographic design use.
How many can I generate?
Up to 24 per batch; run it again for more.
Privacy & Your Data
CSSmith runs entirely in your browser. Whatever you type, paste or upload is processed on your own device and never sent to a server — there is no backend to store it.