<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>bgcolor — color theory for web design</title>
    <link>https://bgcolor.com/blog/</link>
    <description>Colors and more: 100+ free color tools plus a blog on color theory. Background picker, palette generators, WCAG contrast checkers and HEX/RGB/HSL/OKLCH converters.</description>
    <language>en</language>
    <lastBuildDate>Sun, 23 Aug 2026 06:58:47 GMT</lastBuildDate>
    <atom:link href="https://bgcolor.com/rss.xml" rel="self" type="application/rss+xml"/>
    
    <item>
      <title>Wide gamut: what Display P3 changes for web design</title>
      <link>https://bgcolor.com/blog/wide-gamut/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/wide-gamut/</guid>
      <pubDate>Wed, 12 Aug 2026 09:00:00 GMT</pubDate>
      <description>Most screens sold in the last five years can show colors sRGB cannot express. Here is how to use them without breaking everything else.</description>
      <category>color spaces</category><category>oklch</category>
    </item>
    <item>
      <title>Text over images, and the scrim that makes it work</title>
      <link>https://bgcolor.com/blog/text-over-images/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/text-over-images/</guid>
      <pubDate>Wed, 29 Jul 2026 09:00:00 GMT</pubDate>
      <description>A hero image that averages to mid-gray can still contain a blown-out sky. Solve for the worst pixel, not the average one.</description>
      <category>backgrounds</category><category>accessibility</category><category>contrast</category>
    </item>
    <item>
      <title>Color and mood: what the research actually supports</title>
      <link>https://bgcolor.com/blog/color-and-mood/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/color-and-mood/</guid>
      <pubDate>Wed, 15 Jul 2026 09:00:00 GMT</pubDate>
      <description>Blue does not mean trust. The studies most often cited for color psychology say considerably less than the infographics claim.</description>
      <category>fundamentals</category><category>palettes</category>
    </item>
    <item>
      <title>Why your dark background looks blotchy</title>
      <link>https://bgcolor.com/blog/banding-and-dithering/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/banding-and-dithering/</guid>
      <pubDate>Wed, 01 Jul 2026 09:00:00 GMT</pubDate>
      <description>Those faint rings in your gradient are not a rendering bug. They are 8-bit quantisation, and the fix is about three percent of noise.</description>
      <category>backgrounds</category><category>gradients</category>
    </item>
    <item>
      <title>Choosing an accent color that survives your background</title>
      <link>https://bgcolor.com/blog/choosing-an-accent/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/choosing-an-accent/</guid>
      <pubDate>Wed, 17 Jun 2026 09:00:00 GMT</pubDate>
      <description>An accent has one job: to be the most noticeable thing on the screen at the moment it appears. What that requires depends entirely on what is behind it.</description>
      <category>palettes</category><category>backgrounds</category>
    </item>
    <item>
      <title>The 60-30-10 rule is not a law of nature</title>
      <link>https://bgcolor.com/blog/60-30-10-is-not-a-law/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/60-30-10-is-not-a-law/</guid>
      <pubDate>Wed, 03 Jun 2026 09:00:00 GMT</pubDate>
      <description>It is a useful heuristic from interior design that gets repeated as though it were a specification. Here is what it is actually good for.</description>
      <category>palettes</category><category>fundamentals</category>
    </item>
    <item>
      <title>APCA and the end of the contrast ratio</title>
      <link>https://bgcolor.com/blog/apca-and-the-end-of-the-ratio/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/apca-and-the-end-of-the-ratio/</guid>
      <pubDate>Wed, 20 May 2026 09:00:00 GMT</pubDate>
      <description>WCAG 3 replaces the 4.5:1 ratio with a model that knows dark mode exists. Here is what changes and what to do about it now.</description>
      <category>accessibility</category><category>contrast</category>
    </item>
    <item>
      <title>Elevation without shadows</title>
      <link>https://bgcolor.com/blog/elevation-without-shadows/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/elevation-without-shadows/</guid>
      <pubDate>Wed, 06 May 2026 09:00:00 GMT</pubDate>
      <description>Shadow is the absence of light. On a dark background there is barely any light to remove, so depth has to come from somewhere else.</description>
      <category>dark mode</category><category>backgrounds</category><category>design systems</category>
    </item>
    <item>
      <title>Semantic tokens and the rebrand that broke everything</title>
      <link>https://bgcolor.com/blog/semantic-tokens/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/semantic-tokens/</guid>
      <pubDate>Wed, 22 Apr 2026 09:00:00 GMT</pubDate>
      <description>A story about --blue-500, told as a cautionary tale, with the two-layer token structure that prevents it.</description>
      <category>design systems</category><category>palettes</category>
    </item>
    <item>
      <title>Color blindness is a design constraint, not an edge case</title>
      <link>https://bgcolor.com/blog/color-blindness-is-a-constraint/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/color-blindness-is-a-constraint/</guid>
      <pubDate>Wed, 08 Apr 2026 09:00:00 GMT</pubDate>
      <description>Around one in twelve men cannot distinguish some of the color pairs in your interface. That is not an accessibility footnote, it is a larger group than Safari users.</description>
      <category>accessibility</category><category>color blindness</category>
    </item>
    <item>
      <title>Nobody&#39;s background is actually #ffffff</title>
      <link>https://bgcolor.com/blog/nobody-background-is-white/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/nobody-background-is-white/</guid>
      <pubDate>Wed, 25 Mar 2026 09:00:00 GMT</pubDate>
      <description>Pure white is a default, not a decision. Look at the products you admire and almost none of them use it. Here is what they use instead and why.</description>
      <category>backgrounds</category><category>fundamentals</category>
    </item>
    <item>
      <title>The muddy middle: why your gradients go gray</title>
      <link>https://bgcolor.com/blog/the-muddy-middle/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/the-muddy-middle/</guid>
      <pubDate>Wed, 11 Mar 2026 09:00:00 GMT</pubDate>
      <description>Blue to yellow should pass through green. In CSS it passes through gray. The cause is one line in the spec and the fix is one keyword.</description>
      <category>gradients</category><category>color spaces</category><category>oklch</category>
    </item>
    <item>
      <title>Building a color ramp that survives contact with real UI</title>
      <link>https://bgcolor.com/blog/building-a-color-ramp/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/building-a-color-ramp/</guid>
      <pubDate>Wed, 25 Feb 2026 09:00:00 GMT</pubDate>
      <description>One brand color is not a palette. Here is how the 50–950 scale works, why the ends always look washed out, and which step you should actually be using for text.</description>
      <category>palettes</category><category>design systems</category><category>oklch</category>
    </item>
    <item>
      <title>Dark mode is not an inversion</title>
      <link>https://bgcolor.com/blog/dark-mode-is-not-an-inversion/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/dark-mode-is-not-an-inversion/</guid>
      <pubDate>Wed, 11 Feb 2026 09:00:00 GMT</pubDate>
      <description>filter: invert(1) takes about four seconds and produces a theme where your brand blue has turned orange. Here is what a real dark theme requires.</description>
      <category>dark mode</category><category>design systems</category><category>backgrounds</category>
    </item>
    <item>
      <title>What the 4.5:1 rule actually measures</title>
      <link>https://bgcolor.com/blog/what-wcag-contrast-actually-measures/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/what-wcag-contrast-actually-measures/</guid>
      <pubDate>Wed, 28 Jan 2026 09:00:00 GMT</pubDate>
      <description>Everyone knows the number. Far fewer know what it is computing, where it is wrong, and why passing it does not mean your text is readable.</description>
      <category>accessibility</category><category>contrast</category>
    </item>
    <item>
      <title>Why HSL lies to you, and what to use instead</title>
      <link>https://bgcolor.com/blog/why-hsl-lies-to-you/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/why-hsl-lies-to-you/</guid>
      <pubDate>Wed, 14 Jan 2026 09:00:00 GMT</pubDate>
      <description>HSL claims that every hue at 50% lightness is equally light. Look at pure yellow next to pure blue and you can see that it is not true. Here is what that costs you.</description>
      <category>color spaces</category><category>oklch</category><category>fundamentals</category>
    </item>
    <item>
      <title>Your background is the most important color on the page</title>
      <link>https://bgcolor.com/blog/your-background-is-the-most-important-color/</link>
      <guid isPermaLink="true">https://bgcolor.com/blog/your-background-is-the-most-important-color/</guid>
      <pubDate>Sat, 03 Jan 2026 09:00:00 GMT</pubDate>
      <description>One color covers more of your interface than every other color combined, and every decision downstream has to answer to it. Most teams pick it last.</description>
      <category>backgrounds</category><category>fundamentals</category>
    </item>
  </channel>
</rss>