Indexed Palette File Converter

Import palette from indexed image or palette file. Export to multiple palette file formats and bit depths.

Palettes: supports many formats, see table further below for details.
Images: BMP, PNG, GIF, Amiga (BBM, IFF, LBM)

It looks like the App didn't boot :( Try to refresh the page.

Palette file support

Palette file format support

Files are detected by their contents. Filename and extension are ignored in detection.

Ext Format name R W Colors Notes
ACO Adobe Color Swatches
Versions: 1 & 2
✔️ 1…65535 RGB, HSV, CMYK, Lab, Grayscale, Wide CMYK supported.
V2 format supports color names.
ACT Adobe Color Table ✔️ ✔️ 256 VGA binary 24-bit, but may include a footer with number of colors.
ASE Adobe Swatch Exchange ✔️ 1…∞ RGB, CMYK, Lab, Grayscale supported.
Format supports color names and multiple named palettes.
CIF
XML
ColorImpact 3 (CIF)
ColorImpact 4 (XML)
✔️ 1…∞ Format supports color names.
CIFC ColorImpact 4 1…∞ Format supports color names.
CPL CorelDraw Palette 🤷 Currently not planning to support.
GPL GIMP ✔️ ✔️ 1…∞ Format supports color names.
GVSWATCH Gravit Swatch 1…∞ Gzip encoded JSON: currently not planning to support.
PAL Jasc Paint Shop Pro
IrfanView
✔️ ✔️ 16 / 256 Could save any number of colors, but existing implementations probably won't support that.
PAL RIFF
Enhanced RIFF
✔️ ✔️ 16…65535 Supported when contains Microsoft Windows LogPalette
TXT Paint.NET ✔️ 1…96 Format supports opacity.
VPL VICE ✔️ ✔️ 16…128 Could save any number of colors, limitation due to emulated Commodore chip limitations (VIC, VIC-II, TED, etc.).
DAT
PAL
BIN?
VGA?
VGA binary 24-bit ✔️ ✔️ 16 / 256 Supports 12-bit, 15-bit, 16-bit, 18-bit, and 24-bit. Color depth auto-detected1 upon loading.
Each color component saved in independent byte, file is always 48 or 768 bytes.
PAL? Raw binary 16-bit ✔️ ✔️ 256 Supports 12-bit and 16-bit. Color depth auto-detected2 upon loading.
Each color is saved to two bytes, file is always 512 bytes.
12-bit variant used by Commander X16.

1) Auto-detection may fail on palettes that only contain very dark colors.
2) Auto-detection on 16-bit may fail on palettes that have only very specific blue color values on every color.

Image file support

Image file format support

Ext Format name R W Colors Multi-
palette
Notes
BBM
IFF
LBM
Interchange File Format ✔️ 256 Originating from Amiga by Electronic Arts.
BMP Windows Bitmap ✔️ 2…256 Only supporting indexed palette images.
GIF Graphics Interchange Format ✔️ 2 / 4 /
8 / 16 /
32 / 64 /
128 /
256
✔️ Number of colours is contained in 3 bits of data.

Often contains a global palette shared with all sub-images, but also supports local palette independently for each sub-image. Can display each sub-image at once to view more than 256 colors at once.
PNG Portable Network Graphics ✔️ 256 Only supporting indexed palette images.
Game file support

Game file format support

Ext Format name R W Colors Multi-
palette
Notes
DAT RollerCoaster Tycoon 2
Object DAT
✔️ 1…32767 ✔️ Only reading the files with palette (water type). Multiple palette support is not yet complete.
The file technically supports up to 32k colors, but a single palette entry in the game does not exceed 256 colors (but multiple palette entries together push over the 256).
Documentation
What and why?
I created this tool to convert between a couple of palette file formats. Over time the project has expanded is on it's way to become a true palette editor.

This tool is excellent for working with palettes with various limitations, for example there are devices with 12-bit limitation which can make it challenging to create nice palettes for it. With this tool you can make the process much easier since you can use any familiar tools you have to generate the colors, and then find working limitations here while making use of most unique colors possible.
Copy
You can select colors with mouse. Pressing Ctrl + C copies selected colors as space separated hex values which you can paste directly to your hex editor (such as HxD).
Saving
Palettes will be saved based on displayed color depth, but the chosen file format will determine which is the actual number of bits used to store the data. When saving 12-bit you can to set displayed color depth to 12-bit. If there is a mismatch between displayed color depth and file format bits you may encounter poor quality on saved colors. With 24-bit you are always on the safe side though since it can display all the lower bit depth color data.
Preview images in palette
Drag'n'drop image directly on top of the palette colors and the image will be converted to the palette using direct closest perceived color comparison. There is no dithering. You may drop any image format your browser supports to display.
Ideas

Future plans & ideas

  1. Save files (code exists, UI missing at the moment)
  2. Select colors and color ranges in the palette
  3. Copy & Paste colors
  4. Add gradient colors

  5. Save palette meta information
  6. UI for palette meta information
  7. Read more indexed image formats
  8. Read more palette formats (if can find unsupported ones that make sense to support)

  9. Write PNG/GIF palette images
  10. Generate customized Commodore palettes
  11. Display Commodore VIC, VIC-II and TED images
  12. Convert any unique 16 color palette to "valid" C64 palette

  13. Palette generator
  14. Generate valid Windows palettes (= include the reserved colors)
  15. Modify existing paletted image to fit within specific palette limitations and restrictions
  16. Gradient sorter for palettes that have colors in random order

File formats to consider: PCX, TGA, TIFF, PSD... and why not some of these too