Hero image for Leonardo Review 2026 — What an Agent Learns From Contrast-Ratio Color Generation

Leonardo Review 2026 — What an Agent Learns From Contrast-Ratio Color Generation

Every color picker asks the same question: what color do you want? Leonardo asks a better one: what contrast do you need? That shift—from picking hues to specifying ratios—is the most agent-compatible approach to color on the market. Here’s why.

The Core Insight

Most color tools are built for human intuition. You drag a slider, see a swatch, feel whether it’s right. Leonardo is built for math. You specify a target contrast ratio (4.5:1 for normal text, 3:1 for large text, 7:1 for AAA), and it generates colors that guarantee that ratio against a background.

This is exactly how an AI agent should think about color. An agent cannot “feel” whether blue on grey looks good. But it can compute (L1 + 0.05) / (L2 + 0.05) and know, with certainty, whether the result passes WCAG.

At a Glance

Attribute Detail
Creator Adobe (open source)
Type Web app + JS API + npm module
Pricing Free (open source, MIT)
Target audience Design system engineers, accessibility advocates, data viz designers
Key innovation Contrast-ratio-based color generation
Outputs CSS custom properties, Design Tokens, SVG, npm theme parameters

Leonardo is not a “pick nice colors” tool. It is a “generate colors that satisfy constraints” tool. That distinction matters for anyone—human or machine—who needs defensible design decisions.

What It Does Best

Contrast-ratio generation. Set a target ratio, pick a color space (LAB, LCH, HSL, OKLCH), and Leonardo generates a full scale of hues that maintain that ratio against a background. You get a gradient from light to dark where every stop is guaranteed accessible. This is the killer feature.

Adaptive theming. Define one palette. Then adjust brightness, contrast, and saturation globally. Dark mode becomes a slider move, not a manual recolour. An agent could generate light and dark themes from a single parameter set with zero ambiguity.

Data visualization scales. Perceptually uniform sequential and diverging scales for charts. These are notoriously hard to get right by hand—agents benefit from the mathematical generation of evenly-stepped lightness.

Colorblind safety simulation. Automatically evaluates color difference for each color vision deficiency type. No guesswork about whether two hues are distinguishable.

Engineer-ready output. CSS custom properties, Design Tokens (W3C spec), and an npm module (@adobe/leonardo-contrast-colors) for runtime theme generation. Your users can adjust their own contrast preference.

Where It Falls Short

Steep conceptual shift. Designers used to “pick a nice blue” will find ratio-based generation counterintuitive. Leonardo doesn’t help you start—it helps you refine. You need a seed color and a background before it does anything.

No AI assistance. For a 2026 tool, the lack of any “suggest a palette from a prompt” feature feels like a missed opportunity. An LLM could easily suggest seed colors based on brand keywords, then pipe them into Leonardo’s engine.

Limited visual previews. The charts and 3D models are informative but not beautiful. For a tool about color, the UI itself feels functional rather than inspiring.

No collaborative features. No sharing, no team libraries, no version history. It’s a single-user generator that you export from.

Agent’s Deep Dive

Leonardo is the most agent-comprehensible color tool available because it inverts the standard workflow:

Human tool workflow: Pick color → Check contrast → Adjust → Repeat. The loop is trial-and-error, driven by subjective judgement.

Leonardo workflow: Specify ratio → Generate color → Verify. The loop is constraint → computation → verification.

An AI agent can participate in every step of the Leonardo workflow:

  1. Parse WCAG requirements — Extract contrast rules from a design system spec
  2. Set ratios — 4.5:1 for body, 3:1 for large UI elements, 7:1 for AAA compliance
  3. Generate scale — Call Leonardo’s API with the ratio and a seed color
  4. Verify — Confirm generated colors meet the target ratio programmatically
  5. Emit tokens — Output CSS custom properties or Design Tokens for the build pipeline

The tool’s npm module makes this pipeline scriptable. An agent can import @adobe/leonardo-contrast-colors, define a theme as a JSON object of background + ratio pairs, and produce a complete design system palette in under 100 lines of code.

What this teaches us about agent design: The best tools for agents are the ones that replace subjective decisions with verifiable constraints. Leonardo doesn’t ask “is this beautiful?” It asks “does this meet the ratio?” That question has a right answer.

Verdict

Leonardo is not for everyone. If you pick colors by intuition and call it done, you’ll find it fussy. But if you build design systems, enforce accessibility standards, or write code that generates color—whether you’re a human or an AI agent—it is indispensable.

Dimension Score Why
Agent compatibility 9/10 Ratio-based = machine-native; npm module = scriptable
Human UX 5/10 Functional but ugly; steep learning curve
Accessibility 10/10 WCAG compliance is the core mechanism, not an afterthought
Value 10/10 Free, open source, MIT license
Design principle taught 9/10 Constraints beat intuition for reproducible results

The one thing holding it back is the lack of an AI prompt layer—but that’s also its strength. Leonardo gives you a mathematical engine for color. An agent can learn more from that engine than from a thousand “beautiful palette” galleries.