keepcalculator

06 Numbers and Powers

Chromatic Alternatives for Open Source Projects

Card No. 06·12828 · Updated · Standard formula, shown below

For open source projects, the top pick is Radix UI Colors because it offers a well-structured, accessible color scale system that is framework-agnostic, easy to integrate, and free to use under the MIT license. It provides consistent, WCAG-compliant contrast ratios out of the box, making it a reliable foundation for any UI. Its step-based scales (from 1 to 12) are designed to work across light and dark modes, which is a common pain point in open source theming.

What to Look For

When choosing a chromatic (color) alternative for your open source project, the criteria that actually matter go beyond just aesthetics. You need to consider:

  • License compatibility: Must be MIT, Apache 2.0, or BSD to avoid legal headaches in your own project. Avoid GPL unless your project is also GPL.
  • Accessibility (WCAG): The palette should provide sufficient contrast ratios (at least 4.5:1 for normal text) for both light and dark themes. Look for scales that explicitly document contrast levels.
  • Scalability: A good chromatic system offers multiple steps (e.g., 10-12 shades per hue) so you can use them for borders, backgrounds, text, and hover states without running out of options.
  • Dark mode support: The palette should have dedicated dark-mode variants, not just a simple inversion. This is crucial for modern apps.
  • Ease of integration: Can you use it as CSS variables, Tailwind config, or design tokens? The less friction, the better.
  • Maintenance and community: Is the project actively maintained? A dead palette can become a liability.

Radix UI Colors

Strengths: Radix UI Colors is a meticulously crafted set of color scales (gray, blue, red, green, etc.) that are designed to be accessible in both light and dark themes. Each scale has 12 steps, with steps 1-6 for backgrounds and borders, 7-8 for borders and solid backgrounds, and 9-12 for solid backgrounds and text. The contrast ratios are documented, and the scales are perceptual—they don’t just darken or lighten a single hue, they adjust saturation and lightness to remain readable. It’s MIT licensed and works as plain CSS variables, JSON, or Tailwind config.

Trade-offs: The 12-step system can feel overwhelming for simple projects. There’s no built-in UI component library—it’s purely a color system. You’ll need to pair it with your own component logic.

Who it suits best: Projects that need a robust, accessible theming system with dark mode support out of the box. Perfect for design systems, component libraries, and apps with complex UI states.

Open Color

Strengths: Open Color is a long-standing, MIT-licensed palette with 13 colors, each with 10 shades (from 0 to 9). It’s simple, flat, and works well for charts and data visualization. It provides both CSS variables and SCSS/LESS variables, making it easy to drop into any build. Its gray scale is particularly well-tuned for neutral backgrounds.

Trade-offs: The scales are not explicitly designed for dark mode—you may need to manually adjust for dark backgrounds. Contrast ratios are not documented, so you’ll need to test them yourself. The palette is less nuanced than Radix, with more saturated hues that can be tiring for large surfaces.

Who it suits best: Projects that need a quick, no-fuss color set for charts, diagrams, or simple dashboards. Great for prototypes and internal tools where accessibility testing is less critical.

Tailwind CSS Color Palette

Strengths: If you’re already using Tailwind, its default color palette is a de facto standard. It includes 22 colors, each with 10 shades (50-950), and is designed to work with the framework’s utility classes. The palette is well-tested and widely used, so you’ll find plenty of community resources. It’s MIT licensed and can be extracted as standalone CSS variables if you’re not using Tailwind.

Trade-offs: The palette is not specifically optimized for dark mode—you’ll need to manually choose shades for dark backgrounds. The contrast ratios are not documented, and some shades (like yellow-400) can be too light for text. It’s also tied to Tailwind’s design philosophy, which may not fit every project.

Who it suits best: Projects that are already using Tailwind or are willing to adopt it. Ideal for rapid development where you want a proven, consistent palette without much thought.

Bootstrap Color System

Strengths: Bootstrap’s color system is simple: 8 colors (blue, indigo, purple, pink, red, orange, yellow, green, teal, cyan, gray) with 5 shades each (100-900). It’s MIT licensed, and the variables are available as SCSS and CSS. The palette is designed to work with Bootstrap’s components, so if you’re using Bootstrap, it’s a no-brainer.

Trade-offs: The 5-shade scale is quite limited—you may run out of options for subtle hover states or disabled elements. Dark mode support is not built-in; you’ll need to manually define dark variants. The colors are somewhat muted and can feel dated compared to more modern palettes.

Who it suits best: Projects that are already using Bootstrap and want to stay within its ecosystem. Good for quick admin panels or CRUD apps where design isn’t the focus.

Chakra UI Color Palette

Strengths: Chakra UI’s palette is similar to Tailwind’s but is designed specifically for its component library. It offers 10 shades per color and includes semantic tokens (like chakra-colors-brand-500) that make theming easier. It’s MIT licensed and works well with Chakra’s dark mode implementation, which automatically switches color modes.

Trade-offs: It’s tightly coupled to Chakra UI—if you’re not using the library, the tokens are less useful. The palette is not as comprehensive as Radix, and contrast ratios are not documented. You may need to adjust shades manually for accessibility.

Who it suits best: Projects built with Chakra UI, especially those that need a quick, accessible dark mode without custom color work.

Ant Design Palette

Strengths: Ant Design offers a comprehensive color system with 10 shades per primary color, plus a set of neutral grays. It’s MIT licensed and includes a color algorithm that lets you generate a full palette from a single primary color. The palette is designed to meet WCAG 2.0 contrast requirements, and it works well with Ant’s components.

Trade-offs: The palette is heavily tied to Ant Design’s component library—using it standalone requires extra work. The generated colors can be unpredictable, and the default blue is very distinctive, which may not suit all brands. Dark mode support is available but requires manual configuration.

Who it suits best: Projects using Ant Design, or those that want a data-driven approach to color generation. Good for enterprise applications where a consistent, professional look is needed.

How to Choose

Start by assessing your budget (all of these are free, but time is a cost) and your use case. If you’re building a design system or a component library, Radix UI Colors is the clear winner due to its accessibility and dark mode support. If you’re using a framework like Tailwind, Bootstrap, Chakra, or Ant Design, stick with their native palettes to avoid integration friction. For simple charts or quick prototypes, Open Color is the fastest to adopt.

Consider the trade-offs: Radix has a steeper learning curve but pays off in the long run. Tailwind is easy but requires manual dark mode tweaks. Open Color is simple but not accessible by default. Also, think about your team’s familiarity—if they already know a palette, it’s often better to stick with it than to introduce a new one.

Finally, test with your actual content. A palette that looks great in a demo may fail with real text and images. Run contrast checks and view it in both light and dark modes before committing.

Frequently Asked Questions

Can I use these palettes in commercial open source projects?

Yes, all the palettes mentioned are MIT licensed, which allows commercial use without attribution. Just include the license file in your distribution.

How do I add dark mode support with these palettes?

Radix UI Colors and Chakra UI have built-in dark mode variants. For Tailwind and Open Color, you’ll need to define custom dark mode CSS variables that map to lighter or darker shades. Bootstrap and Ant Design require manual configuration.

Are these palettes WCAG compliant?

Radix UI Colors explicitly documents contrast ratios and is designed to be compliant. Ant Design claims WCAG 2.0 compliance. Others do not document it, so you must test with tools like WebAIM’s Contrast Checker.

Can I generate a custom palette from a brand color?

Ant Design provides a color algorithm to generate a full palette from a primary color. For others, you can use tools like Coolors or Adobe Color to create a custom palette, but you’ll need to manually adjust for accessibility.

Do these palettes work with CSS variables?

All of them can be used as CSS variables. Radix, Open Color, and Tailwind provide ready-made CSS variable files. Bootstrap and Ant Design use SCSS variables that compile to CSS. Chakra uses JavaScript tokens but can be exported to CSS.

Which palette is best for data visualization?

Open Color is a popular choice for charts because its 10 shades per color are distinct and colorblind-friendly. Tailwind’s palette is also good, but you may need to manually pick shades that are distinguishable.

Bottom Line

For most open source projects, Radix UI Colors is the best chromatic alternative due to its accessibility, dark mode support, and flexibility. If you’re tied to a framework, use its native palette to save time. For quick prototypes, Open Color is a solid fallback. Remember to always test contrast and dark mode regardless of your choice.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →