---
title: Custom Color Palettes
---

To create additional palettes or modify existing ones, create a json file and place it in the following path in your datapack:
`data/<pack>/exposure/color_palette/<palette>.json`\
[/exposure palette](../commands/palette) command has some tools to aid in palette creation.

[Example Datapack](https://github.com/mortuusars/Exposure/tree/1.21.1/example_datapack/data/example/exposure/color_palette)

### Json file has a single property:
- `colors`: array of strings representing hex value of a color - AARRGGBB.

Example of an "ink" color palette:
```json
{
  "colors": [
    "FF1F1F29", "FF413A42", "FF596070", "FF96A2B3", "FFEAF0D8"
  ]
}
```

- Palette can have 1-256 colors.
- If a palette has less than 256 colors, internally Exposure will fill the rest with "FF000000" (black).
- Last color in a palette will always be "00000000" (fully transparent)
	- Exposure will add it automatically, if omitted.
	- If palette has 256 colors and last one is not transparent - Exposure will automatically correct it.

To use custom palette, you need to specify it in [Film](custom_films) components.

<div name='WARNING' style={{ display: 'inline-block', margin: '2px' }}>
    <div style={{ display: 'flex', alignItems: 'top', backgroundColor: '#161618', borderRadius: '6px', padding: '8px 12px', outline: '1px solid #905d0c' }}>
      <TriangleAlertIcon style={{ color: '#f5aa35', marginRight: '8px' }} width={20} />
      <span style={{ color: '#f5aa35', fontSize: '15px' }}>Modifying palette, that is referenced in existing exposures, will cause rendering of that exposure to change as well.<br/>
                                                               Removing palette, that is referenced in existing exposures, will make them use default palette, which will also change how exposure is rendered.</span>
    </div>
</div><br/>