Tintdex Terminal Theme Workbench — Preview, Tune, and Export 2,037 Color Schemes to 16 Formats

Tired of converting theme files and guessing hex codes every time I switched terminal emulators, I built Tintdex (tintdex.afengim.com) — an open-source workbench for previewing 2,037 terminal color schemes across real CLI scenes, auditing WCAG 2 contrast, tuning colors in OKLCH space, and exporting to 16 config formats.

AAFeng
Updated

I built Tintdex (live at https://tintdex.afengim.com/ ), an open-source terminal color scheme explorer, live previewer, and interactive palette studio. It normalizes 2,037 community terminal themes into a unified palette model, lets you inspect them against realistic Shell, Git, process monitor, and multi-language syntax highlighting views, tweak individual slots or shift hues in perceptual OKLCH space, and export ready-to-paste configurations for 16 targets including Ghostty, iTerm2, Kitty, Alacritty, WezTerm, and Windows Terminal.

Why I Built My Own Terminal Color Scheme Workbench

Over the past few years of hopping between terminal emulators and code editors, I moved from iTerm2 to Alacritty, then to WezTerm, and recently settled on Ghostty as my daily driver. Every time I switched terminals or plugged in a new monitor, finding and migrating color schemes meant hitting the exact same friction points.

The first headache is format fragmentation. The exact same theme is a verbose XML .itermcolors plist in iTerm2, a TOML table in Alacritty, a Lua module in WezTerm, and plain key-value lines in Ghostty. Browsing theme repositories on GitHub usually gives you one or two static screenshots, leaving you to write one-off conversion scripts whenever you try a new terminal.

The bigger frustration is the gap between curated screenshots and real terminal workloads. Plenty of themes look gorgeous in a hand-picked neofetch screenshot, only to fall apart the moment you run git diff, htop, or bun test locally—either color0 (black) and color8 (bright black) comments vanish into the background, or saturated red errors and yellow warnings sear your retinas after half an hour in a dark room. Fixing just one or two illegible ANSI slots meant opening a local config file, guessing hex values, saving, reloading the terminal, and repeating the loop a dozen times.

What I actually wanted was straightforward: a browser workbench where I could test themes against the CLI outputs I stare at every day, see exact contrast numbers for every ANSI slot, nudge whichever color felt off, and immediately copy the finished config for my terminal. Since existing galleries always stopped at static previews, I built Tintdex (https://tintdex.afengim.com/ ).

2,037 Color Schemes Indexed Across 11 Visual Styles

To cover both battle-tested classics and hidden community gems, Tintdex aggregates and deduplicates 2,037 color schemes from six open-source collections: iTerm2 Color Schemes, Gogh, Tinted Theming (Base16 & Base24), Alacritty Theme, Warp Themes, and Kitty Themes.

Scrolling alphabetically through more than two thousand themes is a recipe for fatigue. On the homepage and the main directory (https://tintdex.afengim.com/schemes ), every card is rendered live using the scheme's actual palette—complete with directory listings, git status diffs, and test runner output—so you can judge warmth, saturation, and legibility at a glance.

Tintdex 5-by-3 grid of popular terminal color schemes displaying live mini terminal cards and color swatch dots for 15 themes including Catppuccin Mocha, TokyoNight Storm, Dracula, Gruvbox Dark, Nord, Rose Pine, and Kanagawa Wave
Figure 1 · Every card in the Popular Schemes grid is rendered live from its palette rather than a static image, making it easy to compare dark and light themes at a glance

11 Visual Style Categories by Luminance, Temperature, and Chroma

Beyond popularity sorting, I organized the entire catalog into 11 visual style categories (https://tintdex.afengim.com/categories ) based on background luminance, chroma, and color temperature:

  • Dark (1,562 schemes) & Light (475 schemes): Covering both low-light night coding and bright daylight or high-ambient office setups.
  • True Black OLED (250 schemes): Pure black or near-black backgrounds tailored for MacBook Pro XDR displays and OLED monitors where borderless full-screen terminals blend into the bezel.
  • High Contrast (184 schemes) & Soft (579 schemes): High-contrast palettes enforce strict WCAG readability across all ANSI slots, while soft palettes temper luminance delta to reduce eye strain during long sessions.
  • Pastel (212), Muted (225), Vibrant (256), Warm (228), Cool (629), and Monochrome (129): Whether you want retro amber CRT phosphor, Nordic slate blue, or gentle pastel accents, you can filter directly by visual mood.
Tintdex Browse by Style grid displaying 11 category cards for Dark, Light, True Black, High Contrast, Soft, Vibrant, Muted, Pastel, Monochrome, Warm, and Cool themes with scheme counts
Figure 2 · Browsing terminal schemes across 11 visual style categories (tintdex.afengim.com/categories), with total scheme counts badged on each card

Real CLI Workload Previews and Per-Slot WCAG 2 Contrast Audits

Opening any scheme detail page drops you into an interactive preview workbench with three primary view modes at the top: Terminal, Code, and Contrast.

Eight Realistic CLI Scenarios and an Interactive Shell Sandbox

Under the Terminal view, you can switch between 8 realistic command-line scenarios to stress-test how a palette handles dense output:

  1. Shell: Everyday ls -la file permissions, directory coloring, and git status branch prompts.
  2. Git: Authentic git diff additions/deletions and commit graph logs.
  3. Test: Simulated bun test runs with pass (green), fail (red), warning badges, and timing summaries.
  4. Logs: Structured server logs with timestamps and INFO / WARN / ERROR severity badges.
  5. Process: A full htop-style multi-core CPU meter, memory bar, and highlighted process table.
  6. System: neofetch / fastfetch system info alongside an ANSI color block matrix.
  7. Color Test: The classic 16-color foreground-on-background matrix table.
  8. Try It: An interactive terminal sandbox right in the browser where you can type commands like help, ls, or git status to test the theme live.
Tokyo Night scheme detail workbench showing the htop process monitor view on the left and the Customize panel on the right with Red color1 selected in the 2D color picker and a live 6.46 to 1 AA contrast badge
Figure 3 · Tokyo Night preview workbench, pairing 8 realistic CLI workload tabs on the left with per-slot color picking and live WCAG contrast readouts on the right

Per-Slot WCAG 2 Contrast Ratio Audit Matrix

Subtle legibility traps that hide in a basic Shell prompt become obvious the moment you switch to the Contrast view. Tintdex computes the exact WCAG 2 contrast ratio for the foreground text and all 16 ANSI colors (color0 through color15) against the active background, badging each slot as AAA (≥ 7.0:1), AA (≥ 4.5:1), or below threshold.

Take Catppuccin Mocha as an example: its primary text contrast is a crisp 11.34:1 (AAA), and its red, green, yellow, and blue accents all score above 7.08:1. Yet the contrast matrix immediately reveals that Black · color0 (#45475a) and Bright Black · color8 (#585b70) sit at 1.80:1 and 2.46:1 against the #1e1e2e background (both flagged in red as below AA). If a CLI tool or shell autosuggestion binds muted hints to color8, you can spot the issue before exporting and brighten that single slot on the spot.

Catppuccin Mocha WCAG 2 contrast matrix table listing sample text, hex codes, numerical contrast ratios, and AAA or below-AA badges for foreground and all 16 ANSI slots
Figure 4 · Catppuccin Mocha per-slot WCAG 2 contrast matrix, highlighting at a glance that Black (color0, 1.80) and Bright Black (color8, 2.46) fall below the AA legibility threshold

Interactive Slot Editing and Perceptual OKLCH Color Tuning

When a single ANSI slot is too dim—or when you love a theme's structure but wish the background were slightly darker—you don't need to edit config files blind. The Customize panel on the right lets you modify the palette live in the browser.

Per-Slot Picking Across All 22 Color Slots with Live Contrast Feedback

Under the Colors tab, background, foreground, cursor, cursor text, selection, selection text, and color0–color15 are laid out as 22 circular swatches. Clicking any swatch (such as Red · color1 in Tokyo Night) opens a 2D saturation/brightness picker and hex input.

Every frame you drag the picker updates the terminal preview, the code syntax view, and the live WCAG contrast readout at the bottom of the picker—and syncs directly into the 16 export configs below. If an experiment goes too far, a single click on the per-slot reset button restores the original hex value.

Perceptual OKLCH Hue Rotation and Multi-Language Code Highlighting

Sometimes you love a scheme's contrast hierarchy and cadence, but want to shift its overall mood—say, nudging the muted plum tones of Rosé Pine toward cool teal or warm amber.

Rotating hue globally in traditional HSL space almost always breaks a terminal theme: yellows suddenly blow out while blues collapse into muddy darkness because HSL ignores human perceptual luminance. To solve this, Tintdex performs all global adjustments in the OKLCH perceptual color space:

  • Hue Shift (-180° to +180°): Rotating the palette's hue preserves the perceived lightness of every single slot, keeping syntax hierarchy and readability intact across the entire spectrum.
  • Saturation, Lightness, and Contrast Sliders: Dial back overly neon themes into calm, low-chroma palettes or lift shadow tones globally. Double-clicking any slider resets it to default.
  • Display Environment Simulation: Under the Display tab, you can switch monospace fonts (such as JetBrains Mono), tweak font size and line height, toggle bold-as-bright and cursor blinking, and test layout density across 80×24, 100×30, and 120×40 terminal geometries.
Rosé Pine scheme detail page showing TypeScript syntax highlighting on the left and the OKLCH Adjust tab on the right with Hue Shift set to +38 degrees and Saturation set to 115 percent
Figure 5 · Previewing multi-language syntax highlighting (TS / Python / Rust / Go / CSS) on Rosé Pine while shifting hue and saturation in perceptual OKLCH space

Once you dial in a custom variation, clicking Share encodes your entire modified palette into a self-contained URL you can bookmark or send to teammates.

Six Standout Palettes and the Multi-Theme Comparison Workbench

If you are not sure where to start exploring, try a few time-tested community favorites first and then line them up in the comparison workbench.

Six Battle-Tested Palettes for Long Coding Sessions

These six schemes span pastel dark, cool indigo, muted pine, retro warm earth, ukiyo-e sumi ink, and daylight paper styles, with direct links to their interactive workbenches:

Scheme Visual Character Background / Foreground Body Contrast Live Preview & Customizer
Catppuccin Mocha Soothing pastel dark benchmark with rich, non-fatiguing accents #1e1e2e / #cdd6f4 11.34:1 (AAA) https://tintdex.afengim.com/schemes/catppuccin-mocha
Tokyo Night Deep indigo-slate cool dark built for late-night low-glare coding #1a1b26 / #a9b1d6 8.10:1 (AAA) https://tintdex.afengim.com/schemes/tokyo-night
Rosé Pine Muted pine-violet canvas paired with warm rose-gold highlights #191724 / #e0def4 13.39:1 (AAA) https://tintdex.afengim.com/schemes/rose-pine
Gruvbox Dark Iconic retro warm-earth palette with unmistakable syntax separation #282828 / #ebdbb2 10.8:1 (AAA) https://tintdex.afengim.com/schemes/gruvbox-dark
Kanagawa Wave Sumi-ink and wave-blue dark inspired by Hokusai ukiyo-e prints #1f1f28 / #dcd7ba 11.3:1 (AAA) https://tintdex.afengim.com/schemes/kanagawa-wave
Catppuccin Latte High-legibility warm paper light theme ideal for bright daylight #eff1f5 / #4c4f69 7.1:1 (AAA) https://tintdex.afengim.com/schemes/catppuccin-latte

Side-by-Side Comparison of Up to Four Themes and Palette Mixing

When you are torn between several close contenders, open the Side-by-Side Comparison Workbench (https://tintdex.afengim.com/compare ). It lets you line up up to 4 schemes simultaneously, complete with one-click presets for "Catppuccin Four Flavors", "Tokyo Night vs One Dark", "Dracula vs Nord", and "Gruvbox Dark & Light".

Inside the comparison view, you can inspect slot-by-slot hex deltas, live terminal renders, and contrast metrics side by side—or click New Mix to graft Catppuccin Mocha's pastel accents onto Tokyo Night's deep background and export the resulting hybrid.

Tintdex comparison workbench interface displaying Catppuccin Latte, Frappe, Macchiato, and Mocha side by side with aligned background, foreground, cursor, and selection color swatches
Figure 6 · The Comparison Workbench (tintdex.afengim.com/compare) lining up all four Catppuccin flavors side by side, with support for inline slot edits and custom hybrid mixes

One Palette, 16 Ready-to-Use Terminal and Developer Configs

Whether you stick with an untouched community classic or sculpt your own variant with per-slot and OKLCH controls, the Configuration Export section at the bottom of every page compiles 16 target formats in real time.

Instant Config Generation Across 11 Terminals, 2 Editors, and Web Tokens

The export panel groups targets into four practical categories, with one-click switching along the left sidebar:

  • 11 Terminal Emulators: Ghostty, iTerm2, Kitty, Alacritty, WezTerm, Windows Terminal, Warp, foot, Rio, XFCE4 Terminal, and Xresources (each tab includes the exact local config file path instructions, and you can also browse by terminal at https://tintdex.afengim.com/terminals ).
  • 2 Code Editor Integrated Terminals: VS Code Terminal (workbench.colorCustomizations JSON snippet) and Zed Terminal.
  • 3 Web & Data Formats: CSS Variables, Tailwind CSS v4 (@theme tokens), and structured JSON.
Catppuccin Mocha configuration export panel showing the 16 format tabs along the left sidebar and the generated Ghostty configuration file with Download, Copy Prompt, and Copy buttons on the right
Figure 7 · Configuration export panel, where every per-slot edit and OKLCH adjustment syncs live across all 16 output formats and the AI prompt generator

Alongside Download and Copy buttons, I also added a Copy Prompt button. If you use a niche terminal, a Tmux status bar, a Neovim colorscheme plugin, or a custom TUI app that isn't in the 16 built-in exporters, clicking "Copy Prompt" packages the exact 22-slot hex mapping into a clean prompt you can paste into any AI coding assistant to generate a tailored config in seconds.

Tintdex supports multiple languages including Simplified Chinese, Traditional Chinese, Japanese, and English. Head over to https://tintdex.afengim.com/ to take it for a spin and dial in your terminal setup.