Color Palette File Formats Explained

Every palette format Swatchery exports: what each one is, which apps open it, and how to pick the right export for where your colors are headed next.

If you have ever rebuilt the same set of colors three times (once in Photoshop, once in Procreate, and once as CSS variables), you already know why palette file formats matter. A palette file is a portable container for exact color values. Instead of squinting at hex codes and re-typing them (and quietly introducing rounding errors), you export one file and load it straight into the Swatches panel, color set, or stylesheet of whatever tool you are working in. The values arrive intact.

The catch is that almost every app speaks its own dialect. Photoshop wants .aco, Procreate wants .swatches, GIMP wants .gpl, and your build pipeline wants JSON or CSS. Picking the right format is mostly a question of where the colors are going next. This guide walks through every palette format Swatchery exports, grouped by the kind of tool you use, so you can choose the one that drops cleanly into your workflow.

How to think about palette formats

Before the format-by-format breakdown, three distinctions explain most of the differences you will run into:

  • App-native swatch formats (.aco, .ase, .swatches, .gpl, .kpl, .cls, .afpalette, .sketchpalette) are designed to load directly into a specific program's palette or swatch panel. They preserve color values precisely and usually keep swatch names. Choose these when the colors need to become usable swatches inside a creative tool.
  • Developer formats (CSS custom properties, JSON) are plain text meant to be read by code or by you. They fit version control, design tokens, and automation rather than a paint program.
  • Visual deliverables (SVG, PDF, PNG, JPEG) render the palette as an image. The colors are no longer editable swatches; they are pixels or vector shapes, which is exactly what you want for client sign-off, documentation, or a mood board.

One more practical note: most swatch formats store color values, but very few carry your color harmony reasoning or notes. If you are still deciding which colors belong together, settle that first (our guide on how to choose a color palette covers that), then use the right export only once the set is final.

Adobe and Photoshop: .aco, .act, .ase

The Adobe ecosystem has three palette formats, and they are not interchangeable. Knowing which is which saves a lot of confusion.

.aco: Adobe Color (Photoshop Swatches)

This is the native Photoshop swatches format. Load an .aco file through the Photoshop Swatches panel and the colors appear as named swatches you can paint, fill, and stroke with. It is the right choice for any Photoshop-centric workflow: photo editing, digital painting, compositing, or matte work. If you live in Photoshop, this is your default.

.act: Adobe Color Table

The .act format is older and more rigid: a fixed table of up to 256 colors with no names. Its home is indexed color work: Photoshop's "Save for Web" path, exporting GIFs, and some video and game-tooling pipelines that expect a flat 256-entry color table. Reach for .act only when a tool specifically asks for a color table or you are working in indexed-color mode. For everyday swatch sharing, prefer .aco or .ase.

.ase: Adobe Swatch Exchange

The .ase format is Adobe's cross-application swatch format. The same file loads into Photoshop, Illustrator, and InDesign, so it is the one to use when a palette has to travel across the Creative Cloud suite, for example building brand colors in Illustrator and reusing them in an InDesign layout. Many third-party design tools also read .ase, which makes it one of the most broadly compatible options on this list. If you are unsure which Adobe format to pick and the colors might be reused in more than one Adobe app, choose .ase.

Illustration and painting apps

Outside Adobe, most paint and illustration programs have their own color-set format. These all behave like app-native swatch files: import them and your colors show up in that program's palette ready to use.

.swatches: Procreate

The .swatches format is the palette format for Procreate on iPad. Drop the file into Procreate's Palettes panel and the colors become a tappable set. If you extract a palette from a reference photo on your computer and want it on your iPad for a painting session, this is the bridge. Pair it with our walkthrough on extracting a color palette from an image to go from photo to Procreate palette in a couple of steps.

.gpl: GIMP palette

The .gpl format is a simple plain-text palette originally from GIMP, but it has become a near-universal interchange format for open-source and pixel-art tools. Beyond GIMP, it is read by Inkscape, Krita, Aseprite, and many others. Because it is human-readable, it is also easy to inspect or tweak by hand. If your tool is open source, or you want one file with the widest reach across free software, .gpl is a strong, dependable pick.

.kpl: Krita palette

While Krita can read .gpl, it has its own richer native format, .kpl. If Krita is your primary painting app, export .kpl to get the best fidelity inside the program.

.cls: Clip Studio Paint color set

The .cls format is the color set format for Clip Studio Paint, hugely popular with comic, manga, and illustration artists. Import it to add your palette to Clip Studio's color set list. If you do comic or character work in Clip Studio, this is the format that lands your colors where you can use them.

.afpalette: Affinity

The .afpalette format covers the Affinity suite: Designer, Photo, and Publisher. Affinity is a common Adobe alternative, so if you have moved your design work to Affinity, export .afpalette to bring palettes into its application or document palettes.

UI and product design: .sketchpalette

For interface and product design, Sketch (macOS) remains a mainstay. The .sketchpalette format imports a palette into Sketch's color picker, which is convenient for keeping a project or brand palette consistent across screens and components. If you build UI in Sketch, this is the format that puts your colors a click away inside the picker.

Web and development: CSS, JSON, SVG

When colors are headed into code rather than a canvas, you want a text format your tooling can consume. Swatchery covers the three most useful.

CSS custom properties

The CSS export gives you the palette as CSS custom properties (CSS variables) declared on the root selector. Each color becomes a named variable holding a hex value, which you then reference throughout your stylesheet. This is the fastest way to wire a palette into a website or web app: paste it into your global stylesheet and every component can read the same source of truth. Because the colors live in one place, re-theming later means editing a handful of variables instead of hunting down hard-coded hex values across files.

JSON

The JSON export is the general-purpose, machine-readable option. It is ideal for automation and design tokens: feeding a build script, generating a Tailwind config, populating a component library, or piping colors into another program through an API. If you are writing code that needs to read a palette programmatically, JSON is almost always the path of least resistance.

SVG

The SVG export produces a vector swatch sheet: each color as a scalable shape in a single file. It is handy when you want a crisp, resolution-independent visual of the palette to embed in a web page, a README, or documentation, and it stays sharp at any size. It sits between a developer format and a visual deliverable: vector data you can drop into a layout, but not editable swatches inside a paint app.

Print and sharing: PDF, PNG, JPEG

Sometimes the goal is not to load colors into a tool at all; it is to show them. These formats turn a palette into a self-contained visual.

PDF

The PDF export is a printable swatch sheet or report: a clean, page-ready document of your colors. It is the right pick for client deliverables, print sign-off, or anything that needs to look tidy on paper or in a shared document. Anyone can open it without your design software installed.

PNG and JPEG

PNG and JPEG produce a raster image of the swatches, perfect for mood boards, social posts, Slack, and quick visual sharing. PNG keeps crisp, lossless edges (good for clean color blocks), while JPEG yields a smaller file when absolute crispness is not critical. Either one shows your palette anywhere an image can go. Sharing a palette with the wider community? You can also post finished palettes to the Swatchery community gallery instead of exporting an image.

Which format should I pick?

If you remember nothing else, match the format to the destination tool:

FormatBest forOpens in
.acoPhotoshop swatchesAdobe Photoshop
.actIndexed color / color tablesPhotoshop (Save for Web), video & game tools
.aseSharing across Adobe appsPhotoshop, Illustrator, InDesign
.afpaletteAffinity workflowsAffinity Designer, Photo, Publisher
.swatchesiPad illustrationProcreate
.gplWidest open-source reachGIMP, Inkscape, Krita, Aseprite
.kplNative Krita fidelityKrita
.clsComics & illustrationClip Studio Paint
.sketchpaletteUI / product designSketch
CSSWeb theming & tokensAny stylesheet / browser
JSONAutomation & pipelinesCode, build tools, APIs
SVGVector swatch sheetBrowsers, editors, docs
PDFPrint & client sign-offAny PDF reader
PNG / JPEGSharing & mood boardsAnything that shows images

A few quick decision rules:

  1. Working in Adobe and reusing colors across apps? Export .ase. Staying in Photoshop only? .aco.
  2. Painting on iPad? .swatches for Procreate. On desktop with open-source tools? .gpl is the safest universal pick, with .kpl, .cls, or .afpalette when the app is Krita, Clip Studio, or Affinity respectively.
  3. Building for the web? CSS variables for styling, JSON when code needs to read the palette, SVG for an embeddable swatch graphic.
  4. Just need to show the colors? PDF to print or sign off, PNG or JPEG to share an image.

Exporting any format with Swatchery

The practical payoff: you do not have to choose your format up front, and you do not need a separate converter for each tool. Swatchery can export any palette to all of the formats above from one place, so the same set of colors can become a Photoshop .aco, a Procreate .swatches, and a block of CSS variables without re-entering a single hex code.

To get started, build a palette on the Swatchery homepage: upload an image to pull colors from it, or assemble a set by hand. When you want to fine-tune before exporting, open the palette editor in Palette Studio to reorder colors, adjust values, and lock the set down. Then pick the export that matches wherever your colors are headed next.

Master the formats once and palettes stop being something you rebuild in every app. They become a single source of truth you carry from reference photo to finished work, in whatever tool the job calls for.