Skip to content
Zehavi Works
Menu

Palette File Formats: ASE, GPL, CSS & JSON

Which palette format to reach for, which tools read each one, and how to move color between apps without retyping hex codes.

Last updated:

A palette that lives in one app is a screenshot waiting to happen. The way color actually moves between tools is a handful of file formats — each with its own home turf. Knowing which one your destination reads saves you from the ritual of retyping hex codes into yet another project.

The formats, by destination

  • ASE (Adobe Swatch Exchange) — the interchange format for Adobe’s suite: Photoshop, Illustrator, and InDesign all import it as swatches. It’s a binary format that carries color names along with values, which makes it the safe default when a palette is headed for design-tool work.
  • GPL (GIMP palette) — a plain-text format of RGB values and names. Beyond GIMP itself, it’s read by a family of open-source tools including Inkscape, Krita, and Aseprite. Because it’s just text, it’s also easy to inspect or edit by hand.
  • CSS custom properties — color as code: --accent: #0a6cff;. The right export when the destination is a website or app stylesheet, because the palette drops straight into the codebase with no translation step.
  • JSON — the programmable option. There’s no single universal palette schema, but JSON is what build scripts, theming systems, and design-token pipelines consume, so it’s the format to choose when software — not a person — is the audience.
  • CSV — rows of values for spreadsheets and quick scripts. Handy for audits (“what colors do we actually use?”) and for handing data to people who live in Excel.
  • PNG / JPEG swatch images — not machine-readable, but the fastest way to show a palette: moodboards, client decks, chat threads.

Choosing without overthinking

Ask one question: what reads this next? An Adobe app wants ASE. A codebase wants CSS or JSON. A spreadsheet wants CSV. A human wants an image. If the answer is “several of those,” export more than once from the same source palette rather than converting one export into another — every conversion step is a chance for names and values to drift.

The corollary: keep a single source-of-truth palette and treat every file as disposable output. That’s the model Palette Library is built around — it stores the palette once and exports to CSS, JSON, ASE, CSV, PNG, JPEG, and GPL on demand, so the same set of colors can head to a stylesheet and a Photoshop swatch panel without diverging.

Names matter more than you think

Values survive every format; names don’t always. A palette whose colors are named primary, surface, and warning stays meaningful in a CSS export and an ASE swatch list alike — while Untitled-14 tells your future self nothing. Name colors for their role at capture time and every downstream format inherits the decision.