You've got a board that feels right. Eight or ten references, all clearly speaking the same language, and you can point at it and say "this" with some confidence. Then someone asks what the actual colors are, and the honest answer is: you don't know. You know the mood. You don't have a palette.

Most people bridge that gap with an eyedropper tool and a screenshot, clicking around until they've got five hex codes that look plausible next to each other. It's fast, and it's also how you end up with a palette that photographs well in a Figma frame and dies the moment it touches a real interface. Pulling a usable palette out of a moodboard is a different exercise from admiring one, and it has steps people skip.

The eyedropper lies to you

Sample a color straight off a photo and you're not sampling a color — you're sampling a color under whatever lighting, film grain, and JPEG compression that photo happened to have. A warm terracotta wall shot at golden hour will hand you a hex code that's really "terracotta plus sunset plus camera white balance." Pull that exact value into a UI and it reads muddy, or worse, slightly wrong in a way nobody can articulate.

The fix isn't a better eyedropper. It's accepting that a moodboard gives you color territory, not color values. Your job is to name the territory — dusty rose, warm charcoal, off-white with a yellow cast — and then choose values that live in that territory but are built for screens, not photographed under a specific afternoon sun.

Find out what's actually dominant

Your eye is a bad witness here. It jumps straight to whatever color is doing the most visual work — the single red object in an otherwise neutral photo, the one saturated accent wall — and reports that as "the palette," when that color might occupy four percent of the board's actual pixel area. Meanwhile the color genuinely running the show, some quiet beige or graphite that's in every single reference, gets ignored because it's boring to look at.

Do the unglamorous version of this exercise: go image by image and ask what color the eye rests on when it's not hunting for excitement. Usually it's a background, a wall, a piece of clothing, a sky. If the same neutral-to-muted color keeps showing up across unrelated images, that's your dominant — the color your actual design will be mostly made of. The exciting color you noticed first is very likely your accent, and accents should stay small.

Give every color a job before you name it

A palette isn't a list of five colors you like together. It's an assignment of roles, and skipping the assignment is why so many extracted palettes fall apart in application. At minimum you need a dominant (the color that carries the most surface area — backgrounds, large blocks), one or two accents (the color used sparingly, for the thing that needs to grab attention), and a neutral (text, borders, the color everything else sits on top of).

Pull these directly from the board, but pull them by role, not by preference. Go looking specifically for "what would be my dominant" and "what would be my accent" instead of grabbing five colors you like and sorting them after. A palette built role-first survives contact with a real layout. A palette built preference-first is five nice colors with no idea which one is supposed to be 70% of the screen and which one is supposed to be a single button.

A moodboard palette isn't done when it looks good together. It's done when you know which color is allowed to be loud and which one has to hold still.

Check it outside the mood it came from

A color that reads as sophisticated at full-bleed photo scale can fall apart the second it's a 32-pixel button or a line of body text. This is the step almost everyone skips, and it's the reason a palette that looked flawless as a moodboard collage looks off once it's applied to an interface.

Build actual small swatches — not a five-color strip, but the colors placed the way they'll really sit: your neutral as a text color on your dominant as a background, your accent as a small filled button, your dominant as a large panel next to white space. Squint at it, shrink your browser window, look at it on your phone. Colors that felt rich and layered in a big photo often turn muddy or low-contrast at this scale, especially dark, saturated ones that were gorgeous as an accent wall and unreadable as button text. Run a basic contrast check on anything that's going to carry text — if your neutral-on-dominant pairing fails basic legibility, no amount of "but it matched the mood" saves it.

Then go further than the pretty mockup. A moodboard is a curated best-case: every photo in it was chosen because it already looks good. Your actual product will show error messages, empty states, dense tables, a form full of red validation text — none of which appears anywhere on the board. Put your accent color next to an actual error red and see if they fight. Put your dominant behind a wall of plain black text with no hero image doing the heavy lifting. A palette that only survives its prettiest layout isn't a palette yet, it's a mockup with good lighting.

Watch for the undertone mismatch

This is the specific way palettes quietly break: two colors that each look fine alone but fight when they sit next to each other, because one has a warm undertone and the other has a cool one. A beige with a yellow cast next to a gray with a blue cast reads as "almost right" rather than "wrong," which is worse — it's the kind of mismatch that makes a whole design feel slightly off without anyone being able to say why.

When you're extracting a neutral from the board, extract two or three candidates and hold them against your dominant color specifically, not against each other in a vacuum. The one that disappears cleanly — that reads as "obviously belongs" rather than "technically doesn't clash" — is the one to keep. This is also where boards with references pulled from wildly different lighting conditions get you into trouble: a neutral that felt cohesive next to a warm-lit photo can turn sickly next to a cool-lit one, because you were never actually looking at one neutral, you were looking at three different ones that happened to share a name.

Let the board tell you the ratio, not just the hues

The colors are only half of it. The other half is proportion — how much of the design each one is supposed to cover — and the board usually already shows you this if you look at composition instead of just color. If every reference on the board is ninety percent neutral with a thin band of accent color, that ratio is part of the palette too, and a design that inverts it — heavy on the accent, neutral as an afterthought — will feel wrong even with the exact right hex codes.

Note the rough ratio while you're extracting roles: which color is everywhere, which one shows up in a stripe or a single object, which one is basically trim. Carry that ratio into the design along with the values themselves. A palette applied at the wrong proportions is arguably a worse failure than a palette with slightly off hex codes, because it's the thing viewers notice first even when they can't say what's wrong.

None of this takes long once you know to look for it — an hour, maybe two, for a board you already trust. What it buys you is a palette that survives the handoff from "here's the vibe" to "here's the spec," which is the exact point where most extracted palettes quietly fail.

Related: how to paste a moodboard into Figma without a plugin.

Moodly saves images and links straight into a moodboard as you browse — hover, click Save, and it's organized without breaking your flow.

Add to Chrome — it's free