The omt-color-mapper tool maps colors from one palette to another while preserving perceptual color distances using the OKLab color space.
This example demonstrates how to create different color variants of a character sprite by mapping from a source palette to various target palettes.
| Bronze (Source) | Silver | Gold | Diamond | Ruby |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Command:
omt-color-mapper map --source-pal pal-bronze.png --target-pal pal-silver.png --input fiiish-bronze.png --output fiiish-silver.png| Source | Palettes | Result |
|---|---|---|
![]() |
![]() ![]() |
![]() |
Command:
omt-color-mapper map --source-pal pal-bronze.png --target-pal pal-gold.png --input fiiish-bronze.png --output fiiish-gold.png| Source | Palettes | Result |
|---|---|---|
![]() |
![]() ![]() |
![]() |
Command:
omt-color-mapper map --source-pal pal-bronze.png --target-pal pal-diamond.png --input fiiish-bronze.png --output fiiish-diamond.png| Source | Palettes | Result |
|---|---|---|
![]() |
![]() ![]() |
![]() |
Command:
omt-color-mapper map --source-pal pal-bronze.png --target-pal pal-ruby.png --input fiiish-bronze.png --output fiiish-ruby.png| Source | Palettes | Result |
|---|---|---|
![]() |
![]() ![]() |
![]() |
See generate-fish-variants.sh for a script that generates all variants at once.









