LoveCSS.comLoveCSS

CSS Palette Visualizer

Palette

Background (white) and Text (black) start locked — unlock them to change them. Click a color to edit it; locked roles stay put when shuffling or pasting.

Background

#ffffff

Surface

Primary

Accent

Text

#000000

Muted text

Fills the unlocked roles in order: Surface, Primary, Accent, Muted text.

No palette yet?

Load one you saved, pick one from the gallery, or make one in the Color Palette Generator or Image Color Picker, then press Visualize or Open in Palette Visualizer to bring it here.

9:41100%

Fintech

Available Balance

$4,228.76

•••• •••• •••• 8635

Card Holder

Will Jonas

Quick Actions

Money Transfer
Pay Bill
Bank to Bank

Services

Recharge
Charity
Loan
Gifts

Scheduled Payments

View All
N

Netflix

Next payment: 12/04

$11.99

9:41100%

Confirmation

Are you sure?

We care about your privacy. Please make sure you want to transfer money.

Jonathan

3*******6103

Transaction Status: Pending

$250.00USD

Card TypeDebit Card
Transfer Fee$0.00
Send Money
Fintech app

Dashboard

Search here...
Eng (US) MusfiqAdmin

Today's Sales

Sales summary

Export

$1k

Total Sales

+8% from yesterday

300

Total Orders

+5% from yesterday

5

Products Sold

+1.2% from yesterday

8

New Customers

+0.5% from yesterday

Visitor Insights

JanFebMarAprMayJunJulAugSepOctNovDec
Loyal CustomersNew CustomersUnique Customers

Total Revenue

Online SalesOffline Sales

Customer Satisfaction

This Month $4,504Last Month $3,004

Target vs Reality

Reality 8,823Target 12,122

Top Products

#NamePopularitySales
01Home Decor Range78%
02Disney Princess Dress62%
03Bathroom Essentials51%
04Apple Smartwatch29%

Volume vs Service Level

Volume 1,135Services 635
Dashboard
Illustration
Poster
Business cards
New · Version 2.0 is here

Analytics that your whole team understands

Turn raw data into clear answers. Lumen brings every metric into one place, with reports anyone can read.

Start free trialBook a demo
Trusted by 12,000+ teams
Weekly visitors+24%

48,920

Instant setup

Connect your tools in minutes, not days.

Smart insights

Spot trends before they become problems.

Built for teams

Share dashboards with everyone who needs them.

Landing page
9:41100%

Welcome back

Sign in to continue to your account.

Email

jordan@lumen.app

Password

••••••••••

Forgot password?

Sign in
or continue with
GoogleApple

Don't have an account? Sign up

9:41100%

Verification

Enter the code

We sent a 4-digit code to +1 (555) 014-2290

47

Resend code in 00:24

1234567890⌫
Login & verification
Pattern
9:41100%

Shop the things you love

Fresh drops every week, free returns and delivery in two days.

Get started

I already have an account

9:41100%

Deliver to

Brooklyn, NY

2
Search products
AllMenWomenKids

Weekend sale

Up to 40% off

Linen Shirt

$48

Canvas Tote

$32

Wool Beanie

$24

Daily Sneaker

$96

Onboarding & shop
Pricing

Simple, transparent pricing

Start free. Upgrade when you're ready.

MonthlyYearly −20%

Starter

For side projects

$0/mo

  • 1 project
  • Basic analytics
  • Community support
Get started
Most popular

Pro

For growing teams

$24/mo

  • Unlimited projects
  • Advanced reports
  • Priority support
  • Custom domains
Start free trial

Business

For larger companies

$79/mo

  • Everything in Pro
  • SSO & audit logs
  • Dedicated manager
Get started
Pricing
Design

Choosing colors that work in real interfaces

Priya Raman·Oct 25, 2026·6 min read

A palette that looks great as five swatches can fall apart on a real page. Backgrounds take up most of the screen, text needs strong contrast, and your brightest color should be saved for the one thing you want people to click.

Use your primary color sparingly — it should point the way, not paint the walls.

Start with neutral backgrounds and surfaces, check that body text passes WCAG AA, then add accents for links, badges and highlights. Read the full checklist.

Blog

Accessibility

All pass AA
  • Text on Background

    21.00:1 · needs 4.5:1

    Pass
  • Text on Surface

    20.07:1 · needs 4.5:1

    Pass
  • Muted text on Background

    4.75:1 · needs 4.5:1

    Pass
  • Button text on Primary

    5.69:1 · needs 4.5:1

    Pass
  • Badge text on Accent

    5.95:1 · needs 4.5:1

    Pass
  • Primary links & icons on Background

    5.69:1 · needs 3:1

    Pass

Checked against WCAG AA for the light preview. Button and badge text uses Background or Text, whichever contrasts more.

CSS Output

:root {
  --color-bg: #ffffff;
  --color-surface: #f8fafc;
  --color-primary: #7c3aed;
  --color-accent: #ec4899;
  --color-text: #000000;
  --color-muted: #64748b;
}

About CSS Palette Visualizer

See your color palette on real interfaces before you commit to it. Assign colors to roles — background, surface, primary, accent, text and muted text — and preview them on a grid of real designs — mobile app screens, a dashboard, landing, pricing and blog pages, a poster, business cards and more — in light or dark, with WCAG contrast warnings and ready-to-use CSS variables.

How to Visualize a Color Palette

  1. 1Set a color for each role: Background, Surface, Primary, Accent, Text and Muted text. Type HEX, RGB, HSL or OKLCH, or click a swatch to pick one.
  2. 2Already have a palette? Paste a list of hex codes to fill the roles in order, or open a palette from the Color Palette Generator or Image Color Picker.
  3. 3Scan the grid of samples — mobile app screens, a dashboard, landing, pricing and blog pages, a poster, business cards, an illustration and a pattern. Click any sample to expand it, and use the arrow keys to step through them.
  4. 4Press Shuffle roles to try the same colors in different roles. Lock any role you want to keep.
  5. 5Turn on the dark preview, fix any contrast warnings in the Accessibility panel, then copy the colors as CSS variables, a Tailwind config or JSON.

Frequently Asked Questions

It shows your colors on realistic page layouts instead of as flat swatches. A color that looks great in a row of five can be too loud as a background or too faint as body text, and seeing it on a real interface makes that obvious.

Roles describe what each color does: Background fills the page (white by default), Surface is for cards and panels, Primary is for main buttons and links, Accent is for badges and highlights, Text is for headings and body copy (black by default), and Muted text is for captions. Exporting by role gives you variables like --color-primary that read clearly in your CSS.

It swaps Background and Text, then rebuilds Surface and Muted text from the new pair so cards and captions keep the same relationship. Primary and Accent stay the same. When the dark preview is on, the CSS output adds a prefers-color-scheme: dark block.

The pairs the mockups actually use: text and muted text on the background, text on surfaces, button text on Primary, badge text on Accent (all need 4.5:1 for WCAG AA), and Primary links and icons on the background (3:1). Click Fix to open a failing pair in the Contrast Checker.

Yes. The roles are saved in the page URL, so copying the address shares the exact palette. Palettes you send here from the Color Palette Generator or Image Color Picker are assigned to roles automatically: the most colorful become primary and accent, a light one becomes the surface. Background and Text start locked to white and black — unlock them if you want to change them.

Related Tools

More free CSS generators you might like.