A Base16 / Base24 color scheme editor built with Rust and egui.
- Load and edit Base16 and Base24 YAML color scheme files
- Import images and extract ranked Base16/Base24 palette variants
- Visual swatch grid with single, multi, and range selection
- Color editing in RGB, HSV, Oklab, and Oklch spaces
- Perceptually uniform batch adjustments across selected colors
- WCAG contrast checking and accent lightness audit
- Semantic slot remap tool to reassign accent roles across the palette
- Copy / paste swatch colors as hex
- Live terminal and code preview panes
- YAML output panel
- Undo / redo with snapshot-based history
- Built-in presets (Tokyo Night Moon, Dracula, Solarized Dark, and more)
- Icon toolbar and dockable, rearrangeable panel layout
Requires a recent stable Rust toolchain.
cargo build --release
cargo run --releaseUser install to ~/.local (no root needed; make sure ~/.local/bin is on PATH):
make installSystem-wide install:
sudo make install PREFIX=/usr/localThis places the binary on PATH, registers a based.desktop launcher, and installs the icon under the freedesktop hicolor theme. Uninstall mirrors install: make uninstall (or with the same PREFIX for system installs).
| Action | Input |
|---|---|
| Open file | Ctrl+O |
| Save | Ctrl+S |
| Import image(s) | File -> Import Image… |
| Browse folder import | File -> Import Folder… |
| Select all | Ctrl+A |
| Deselect | Escape |
| Undo / Redo | Ctrl+Z / Ctrl+Shift+Z |
| Copy swatch hex | Ctrl+C |
| Paste swatch hex | Ctrl+V |
| Multi-select | Ctrl+Click |
| Range select | Shift+Click |
Imported images use a two-phase pipeline:
- Decode and show a display preview immediately.
- Build extraction bins in the background.
Palette extraction becomes available once all selected images finish phase 2. This keeps large-image imports responsive while preserving extraction quality for the current preview-based pipeline.
Handles flat and nested Base16/Base24 YAML files, including the system: / name: (or scheme:) / author: / variant: spec fields and all common hex variants (#RGB, #RRGGBB, #RRGGBBAA, 0xRRGGBB, bare RRGGBB).

