Color & Character Palettes

ASCII Motion uses two palette systems that work together to control how content appears on the canvas:

  • Character Palettes - Sets of ASCII characters ordered by visual density
  • Color Palettes - Collections of colors for text and background

Both systems share a common structure: preset palettes come built-in, and you can create, edit, import, and export custom palettes.


How Palettes Work

Character Palettes

Character palettes define which characters represent different brightness or density levels. Characters are ordered from lightest (least dense) to darkest (most dense):

text
Light → Dark
' '  .  :  ;  +  *  #  @

When importing images or using generators, the brightness value of each pixel determines which character from the palette to use.

Color Palettes

Color palettes provide a constrained set of colors for your ASCII art. Instead of using unlimited colors, you can map image colors to a specific palette for:

  • Consistent visual style
  • Terminal-compatible output (ANSI 16 colors)
  • Retro aesthetic (8-bit palettes)
  • Thematic artwork (earth tones, neon, etc.)

Preset Palettes

ASCII Motion includes several preset palettes for both characters and colors.

Character Presets

PaletteCharactersBest For
Minimal ASCII .:;+*#@Simple, clean output
Standard ASCIIFull keyboard rangeDetailed artwork
Block Characters░▒▓█Solid fills, clean gradients
Extended UnicodeShapes, symbolsArtistic effects
Dots & Lines.·-│/+Line art, textures
Retro ComputingBox-drawing charsTerminal aesthetic

Color Presets

PaletteColorsBest For
ANSI 16-Color16Terminal compatibility
Web Safe216Cross-browser consistency
Material Design60Modern UI aesthetic
Retro 8-bit16Gaming aesthetic
Earth Tones16Natural scenes
Cool Blues16Water, sky themes
Warm Reds16Fire, sunset themes
Purple Rain10Neon, synthwave
Fiery Sunset10Gradient artwork

Custom Palettes

Both character and color palettes can be customized to match your project needs.

Creating Custom Palettes

Click the button next to the palette dropdown

Name your new palette

Add, remove, or reorder items

Editing Preset Palettes

Preset palettes cannot be modified directly. When you try to edit a preset, ASCII Motion automatically creates a custom copy with your changes.

Palette Management

Click the button to access palette management:

  • Rename custom palettes
  • Duplicate any palette
  • Delete custom palettes
  • Import/Export palettes as JSON

Import & Export

Palettes can be shared between projects or with other users.

Export Format

Both character and color palettes export as JSON:

json
{
  "name": "My Custom Palette",
  "characters": [" ", ".", ":", "#", "@"],
  "category": "custom"
}
json
{
  "name": "My Color Palette",
  "colors": ["#000000", "#333333", "#666666", "#999999", "#FFFFFF"]
}

Importing Palettes

Click the button and paste or upload your JSON palette data. The palette will be validated and added to your custom palettes.


Where Palettes Are Used

Drawing Tools

The character palette in the left sidebar determines which character is selected for drawing. Use Cmd/Ctrl + [ and ] to quickly cycle through characters.

Image/Video Import

When importing media, both character and color palettes determine how the image converts to ASCII:

  • Character Mapping - Maps pixel brightness to characters
  • Text Color Mapping - Maps pixel colors to text colors
  • Background Color Mapping - Maps pixel colors to cell backgrounds

Generators

Procedural generators use the same mapping system. See Generator Mapping for details.

Effects

Some effects like Remap Characters and Remap Colors work with the palette system for automatic detection and replacement.


Tips

Info

Character Order Matters

Characters should be ordered by visual density (perceived darkness when rendered). If your converted images look inverted, try reversing your character palette order with the button.

  • Use block characters (░▒▓█) for clean gradients without texture
  • The ANSI 16-color palette ensures terminal compatibility
  • For photos, larger character palettes (20+ characters) capture more detail
  • For simple graphics, minimal palettes (5-8 characters) work best