5 items
Get the exact color palette of any website, straight from its CSS. Hexer reads a website's stylesheet and gives you the exact colors it declares. Not an approximation sampled from a screenshot — the real values, the way the site wrote them. WHY IT'S DIFFERENT Every other color-palette extension screenshots the page and runs a quantizer over the pixels. Three problems come with that: • The colors are guesses. Quantizing pixels returns an approximation, not the value the site declared. • It only sees the viewport. Everything below the fold is invisible to it. • It has no idea what anything is. A screenshot cannot tell you that #635BFF is stored in --blurple and paints 6.8% of the page. Hexer reads the code instead. WHAT YOU GET • Exact declared values. Never averaged, never approximated. • The CSS variable name behind each color — 1,379 recovered on github.com, 437 on stripe.com. • The whole page, not the visible slice — 204 distinct colors on tailwindcss.com. • Real dominance: each color's share of painted area, so a 1px border used 640 times doesn't outrank one full-bleed hero. • Fast — 17 to 113 ms across ten live sites. Colors are grouped into brand, text, surface and border, and swatch size shows dominance within each group. READS MODERN CSS background-color, color, all four border colors, outline, column-rule, text-decoration, caret, gradient stops, SVG fill and stroke, ::before and ::after, open shadow DOM, and CSS custom properties. Including oklch(), oklab(), lab(), lch() and color-mix() — syntax that pixel sampling cannot resolve at all. EXPORTS Click any swatch to copy its hex. Or take the whole palette as: • CSS custom properties, reusing the site's own variable names • A Tailwind theme fragment • JSON, with painted-area share, usage count and source per color • PNG or JPG swatch sheet • Figma — paste straight in as editable vectors A second tab quantizes a screenshot, for colors that only exist inside logos and images. PRIVACY Two permissions, total: activeTab and scripting. No host permissions, no storage, no background process. There is no fetch, no XMLHttpRequest, no analytics and no storage anywhere in the source — and no build step, so the published package is the source code. You can read it yourself. Nothing is collected, nothing is stored, nothing is sent anywhere. HONEST ABOUT ITS LIMITS The brand/text/surface/border grouping sorts by saturation and prominence. It's a convenience, not a promise: on a site whose primary color lives on a few small buttons while a decorative gradient covers half the page, the gradient ranks higher. Every color is found and exact — which group it lands in is best-effort. Hexer can't see cross-origin iframes, closed shadow roots, or colors that exist only inside images (use the From images tab for those). Pages over 20,000 elements are sampled, and it says so rather than pretending otherwise. FREE AND OPEN SOURCE MIT licensed. No account, no subscription, no upsell. Source: github.com/Gamaleldientarek/hexer Built by Gamal Eldien Tarek — gamaleldien.com
Jul 31, 2026
rating_count is the Chrome Web Store ratings count, not a written-review count.
Media assets
Screenshots and videos on the listing.
Has promo video
Whether the listing includes at least one video.
Languages
Declared language locales.
Developer website
Listing exposes a developer website URL.
Contact email
Listing exposes a contact email.
Keyword in name
Case-insensitive substring match in the name.
Keyword in description
Case-insensitive substring match in the description.
Keyword occurrences in description
Count of case-insensitive occurrences in the description.
Category user-count percentile
Share of same-category extensions with fewer users (null if unknown).
These are transparent listing completeness / keyword signals, not a prediction of Chrome Web Store search ranking.