palettethief.com

Palette Thief — Changelog

Full version history · All changes, fixes, and additions

v2.1 Palette Thief Ultimate Current 2026-02-21
Summary: Significant quality-of-life update focused on fixing core bugs, expanding export options for professional design workflows, improving the color naming engine to eliminate duplicates at larger palette sizes, and a full visual rebrand to a clean neutral dark mode.
2 Bugs Fixed
2 New Exports
1 Removed
8 Improvements
Bug Fixes
  • FIX
    Locked color regeneration underflow
    When colors were locked, regeneration could produce fewer swatches than the selected palette size. Fixed by extracting paletteSize + lockedCount candidates so there are always enough non-locked colors to fill the palette.
  • FIX
    Duplicate color names in large palettes
    With 16–24 colors, the namer frequently generated the same name multiple times (e.g. "Ghost Neon" ×3 visible in v2.0). Fixed with a resetUsedNames() tracker and a collision-aware retry loop across the full combo space.
New Exports
  • NEW
    Figma Tokens export — .tokens.json
    Exports in the W3C Design Tokens Community Group format. Natively compatible with Figma, Token Studio, and Style Dictionary. Token keys are auto-generated from color names. Replaces the non-functional ASE export.
  • NEW
    Tailwind Config export — tailwind-palette.js
    Exports a ready-to-paste tailwind.config.js file with all palette colors mapped under theme.extend.colors. Color keys generated from names.
Removed
  • REM
    ASE (Simple) export removed
    The export produced a plain text file renamed .ase.txt — not a real Adobe Swatch Exchange binary. Figma Tokens serves professional tool integration better.
Improvements
  • IMP
    Color namer word banks expanded
    Each category grew from ~10 to 24 words. Yields 576 unique combinations per category before any collision — enough to handle 24-color palettes without repetition.
  • IMP
    Color namer now uses two independent hash functions
    Prefix and base word now use separate hash algorithms (djb2 + custom) so same-category colors don't converge to the same combination.
  • IMP
    New color categories: Warm, Cool, Muted
    Namer now differentiates oranges/reds/yellows (warm), blue-grays/teals (cool), and desaturated neutrals (muted) with dedicated word banks — previously all mapped to "retro".
  • IMP
    CSS Vars export now includes color name as comment
    Each CSS variable line now includes /* Color Name */ for easier human reading in codebases.
  • IMP
    Prefixes array expanded to 24 entries
    Added: Dark, Pale, Raw, Dull, Mute, Sharp, Hollow, Bright, Dim, Wired, Static, Burned, Frozen, Dry.
  • IMP
    Library load now resets name tracker
    Loading a saved palette from Library now clears the used-name set before re-rendering so loaded palettes don't inherit naming state from the previous extraction.
Design
  • DES
    Rebranded to "Palette Thief Ultimate"
    Title updated in header and page <title>.
  • DES
    Full dark mode retheme — blue tint removed
    All backgrounds shifted from blue-tinted darks (#050608, #10131c, #151822) to neutral near-blacks (#0a0a0a, #0d0d0d, #111111). The gold accent now hits harder without competing hue in the background. Extracted palette colors also appear more true-to-life.
  • DES
    Figma Tokens and Tailwind buttons visually differentiated
    Figma Tokens button uses purple border/text, Tailwind uses sky blue — helps users find them instantly in the export bar.

v2.0 Palette Thief 2.0 Previous 2026-02-12
Summary: Full rebuild of the original. Introduced the modular window.PT namespace, the median cut extraction engine, WCAG contrast analysis, color naming, multi-format export, and the palette library. Single-file, zero-dependency, fully offline architecture established.
Core Engine
  • NEW
    Median cut quantization algorithm
    Replaced basic pixel sampling with recursive median cut for more accurate, representative color extraction from images.
  • NEW
    Palette size control — 8 / 12 / 16 / 24 colors
  • NEW
    Extraction filters: Ignore dark pixels, ignore bright pixels, boost saturation
  • NEW
    Lock colors on regenerate
    Individual swatches can be locked to persist through re-extractions.
  • NEW
    Duplicate detection with Euclidean threshold
    Colors too visually similar are collapsed during extraction.
Color Intelligence
  • NEW
    Procedural color naming system
    5 thematic categories (dark, light, neon, retro, cyber) with prefix + base word generation.
  • NEW
    WCAG contrast ratio display
    Every swatch shows contrast ratio against best text color (white or black), with AA / AAA / AA Large / Fail rating.
  • NEW
    Automatic best text color detection
    Relative luminance calculation determines whether white or black text is more readable on each color.
Tools
  • NEW
    Sort by Hue / Saturation / Brightness
  • NEW
    Shuffle and Remove Duplicates
  • NEW
    Gradient Maker — 2-color linear gradient with CSS output
Exports
  • NEW
    CSS Variables — :root custom properties
  • NEW
    JSON — hex, rgb, name per color
  • NEW
    TXT — plain text with date, index, name, rgb
  • NEW
    GPL — GIMP Palette format
  • NEW
    ASE (Simple) — text-based swatch export (removed in v2.1)
  • NEW
    HTML Preview — standalone swatch card page
  • NEW
    PNG Card — canvas-rendered image with hex + names
  • NEW
    Copy HEX Inline / Multiline — clipboard shortcuts
Library & UX
  • NEW
    Palette Library
    Save, load, rename, and delete palettes via localStorage. Swatches previewed inline.
  • NEW
    Drag-and-drop + click-to-upload — PNG, JPG, GIF supported
  • NEW
    Click swatch to copy HEX — with toast confirmation
  • NEW
    Modular window.PT namespace
    Codebase split into: PT.utils, PT.paletteEngine, PT.namer, PT.exporters, PT.library, PT.contrast, PT.gradient — all in a single HTML file.
  • NEW
    Fully offline — zero network requests, zero tracking, zero dependencies
  • NEW
    Responsive layout — stacks to single column below 900px

v1.0 Palette Thief Initial 2026-01
Summary: Initial release. Basic color extraction from images, HEX display, and clipboard copy. Foundation for the tool.
Initial Release
  • NEW
    Basic pixel sampling color extraction
  • NEW
    HEX code display with click-to-copy
  • NEW
    Image upload via file input
  • NEW
    Single-file HTML architecture