Free color tools · No signup · Everything runs in your browser
Tutorials

How to Import an Existing Color Palette into Design System Doctor

Upload a palette JSON, CSS variables, Tailwind colors, DTCG tokens, or a Color Pick export and turn the detected colors into a structured design system.

Direct answer

Choose Start a new system, select a local palette or token file, and review the detection summary before importing. The parser supports common palette arrays and objects, Color Pick exports, DTCG and Tokens Studio-style values, Tailwind color objects, CSS variables, and standard CSS color formats. The first detected literal color becomes the canonical brand color; aliases and remaining colors are preserved for review.

At a glance

File typesJSON, tokens, CSS, TXT
Recommended JSONcolors array with names
ProcessingLocal browser
Maximum file1.5 MB

Use one of the supported palette structures

The importer recognizes common files instead of requiring one proprietary schema.

  • Color Pick palette JSON with palette or colors arrays
  • A raw JSON array of CSS colors
  • Objects containing name plus hex, color, value, or $value
  • Design System Doctor project backups with a tokens array
  • DTCG typed color values and aliases
  • Tokens Studio or Style Dictionary-style value objects
  • Tailwind theme.extend.colors objects
  • CSS custom properties and var() references
  • Named lines such as Primary: #2563EB
  • HEX, RGB, HSL, OKLCH, Display-P3, and named CSS colors when the browser color parser supports them

Upload and import the file step by step

The file is loaded first and imported only after you review the detection summary.

  1. 1

    Open Design System Doctor and stay on Build & themes.

  2. 2

    Select Start a new system for a standalone palette or Merge into current system for deliberate token updates.

  3. 3

    Select Choose local file and choose a JSON, tokens, CSS, or TXT file smaller than 1.5 MB.

  4. 4

    Review Detected format, Color values, Aliases, Ignored values, and Sample paths.

  5. 5

    If the counts look correct, select Import detected colors.

  6. 6

    Review the canonical brand color and generated product preview.

  7. 7

    Open Architecture Linter to identify raw semantic values, duplicate colors, missing ownership, or layer problems.

  8. 8

    Map product roles, run repair evidence, check state coverage, and export a project backup.

Understand how imported colors are mapped

A palette supplies colors, but it does not always supply product meaning.

Import mapping behavior
SourceImported pathResult
colors arrayprimitive.imported.*Reusable palette colors
roles objectsemantic.*Role tokens for review
component objectcomponent.*Component tokens for review
Tailwind colorsprimitive.imported.*Scale values
DTCG primitive groupprimitive.*Preserved primitive layer
DTCG aliasesResolved alias syntaxToken lineage retained
Doctor project backupOriginal modelThemes, rules, tokens, and settings restored

Import files exported by other Color Pick tools

The enhanced importer recognizes several existing Color Pick JSON shapes.

  • Color Picker JSON containing baseColor and palette
  • Image Color Picker JSON containing colors
  • Palette Readiness reports containing palette items
  • Semantic UI exports containing tokens or colors with value fields
  • Context Role Mapper exports containing named role colors
  • Local Color Pick projects containing palette and roles
  • Design System Doctor project backups containing tokens, themes, constraints, and custom rules

Fix “No supported color tokens were found”

The old message usually meant the JSON was valid but its colors were stored in a shape the parser did not traverse.

The updated importer traverses arrays, nested palette objects, common value fields, Color Pick exports, Tailwind colors, and project token arrays. It also shows a detection summary before import instead of returning only a generic error.

If zero colors are still detected, confirm that actual color values exist as strings or DTCG color objects. Image URLs, palette names, IDs, CMYK-only numeric objects, screenshots, and arbitrary metadata are not automatically converted into web color values.

Troubleshooting zero detected colors
CheckExampleAction
Valid color string#2563EB or oklch(62% 0.2 255)Use a supported CSS color
Known value fieldhex, color, value, $valueMove the color into a recognized field
Palette is an arraycolors: ["#2563EB"]Use strings or named objects
DTCG type$type: colorKeep $value with the token
File sizeUnder 1.5 MBRemove unrelated metadata
Full project restoretokens array with path and valueUse the Doctor project backup unchanged

Keep the local-processing guarantee in context

The importer reads the selected file in the browser and does not need a token upload endpoint.

Normal site requests such as analytics, consent, advertising, fonts, or page assets are separate from token-file processing. The token importer does not intentionally send the selected filename or token contents to those services.

Imported names and mappings should still be reviewed. A parser can identify color values and aliases, but it cannot know your brand governance, product intent, legal requirements, or every component implementation.

Diagram showing a local palette file moving through detection, token mapping, review, and export in Design System Doctor
The file is read locally, summarized before import, mapped into token layers, reviewed, and exported by the browser.
Put the guide into practice

Import your existing palette

Load the file locally, review the detection summary, choose a safe import behavior, and continue directly into token architecture and accessibility review.

Open palette importer

Frequently asked questions

Can I upload a JSON file that contains only an array of colors?

Yes. A raw array or an object with a colors, palette, or swatches array is supported. Named objects create clearer imported token paths than unnamed strings.

Can I import a Color Pick palette export?

Yes. The importer recognizes common Color Pick exports containing palette, colors, tokens, roles, or a Design System Doctor tokens array.

Why are imported colors placed under primitive.imported?

A plain palette provides reusable color values but does not reliably describe product meaning. Primitive import paths preserve the colors without pretending that the importer knows every semantic role.

Can I import CMYK-only values?

Not as authoritative web color tokens. Provide a HEX, RGB, HSL, OKLCH, or another supported CSS color representation. CMYK values in Color Pick remain planning approximations unless a real ICC workflow is used.

What should I do immediately after import?

Review the canonical brand color, inspect token paths, map semantic roles, run the architecture linter, review contrast repair evidence, check component-state coverage, and save a project backup.

Primary references

These sources support the standards and technical explanations in this guide. Color Pick recommendations and product-specific limitations are identified separately in the article.

  1. Design Tokens Format Module 2025.10W3C Design Tokens Community Group
  2. Using files from web applicationsMDN Web Docs
  3. CSS Color Module Level 4W3C
Keep it colorful

Enjoying Color Pick?

Color Pick stays free, private, and account-free. Optional donations help cover hosting, testing, and new color tools.

Donate via SociabuzzOptional. Every tool remains free.