Skip to main content

CTk Theme Builder

CTk Theme Builder

CTk Theme Builder is a desktop editor for creating, previewing, and refining themes for CustomTkinter applications.

It provides a live, visual workflow for editing CustomTkinter theme colours, supported widget geometry, palettes, and theme metadata without hand-editing theme JSON files.

The application is designed to make iterative theme work practical: you can experiment with colours, compare light and dark appearance modes, reuse palette colours across a theme, and validate the result against realistic widget rendering as you work.

Features

  • Live visual editing of CustomTkinter theme colours with immediate preview feedback
  • Editing of supported widget geometry properties such as corner radius and border width
  • Light and dark appearance-mode workflows, including copying and flipping values between modes
  • Persistent theme palette for planning, reusing, and refining colours across a theme
  • Colour harmonics generation from a keystone colour to help build coherent palettes
  • Bundled icon browsing with CustomTkinter code-snippet generation for available Font Awesome icons
  • Drag-and-drop, clipboard, and shade-adjustment workflows for fast colour iteration
  • Palette-driven cascade updates for applying a colour across related widget properties
  • Theme merge, import, and export support for reuse and distribution
  • Provenance metadata for themes created and maintained in the builder
  • Preview and validation support for realistic widget states, including disabled rendering
  • Built-in theme and palette assets to help you get started quickly

Installation

On macOS, first check that the Python you plan to use has Tk support: python3 -m tkinter should open a small test window. If it fails to import _tkinter, follow the macOS Tk instructions before creating a virtual environment.

Recommended installation from PyPI, using a virtual environment:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install ctk-theme-builder

If you manage several Python versions, see the optional pyenv installation route.

On Windows PowerShell:

python -m venv .venv
.venv\Scripts\Activate.ps1
pip install ctk-theme-builder

Alternative install methods for users who already use uv:

uv pip install ctk-theme-builder
uvx --from ctk-theme-builder ctk-theme-builder

Usage

Launch the application:

ctk-theme-builder

Optional command-line arguments:

ctk-theme-builder --set-appearance Dark
ctk-theme-builder --set-theme /path/to/theme.json

To migrate themes and palettes from a legacy installation:

ctktb-migrate-assets /path/to/old/install

Requirements

  • Python 3.10 to 3.13
  • A desktop environment capable of running Tk-based GUI applications

Documentation

Licence

Released under the MIT Licence. See LICENSE.

Metadata

Release files for ctk-theme-builder 5.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ctk-theme-builder 5.2.0
File Size Uploaded
ctk_theme_builder-5.2.0.tar.gz 7.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ctk-theme-builder 5.2.0
File Interpreter ABI Platform
ctk_theme_builder-5.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.9 MB

Release files / ctk_theme_builder-5.2.0.tar.gz

Download URL ctk_theme_builder-5.2.0.tar.gz
Size 7.4 MB
Tags Source
SHA-256 checksum
How to use checksums
9f3371d42316c556067e57161c94ff4fc037fa5ed427325fed283849d80f510c
BLAKE2b-256 checksum
How to use checksums
6b123cccf42328dbfee64000d953b0b60245d75cda790b40a91c7b15fd2c6c07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / ctk_theme_builder-5.2.0-py3-none-any.whl

Download URL ctk_theme_builder-5.2.0-py3-none-any.whl
Size 7.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
08f24c810a24c0109b6e984d097a738637c31a3f3378fb3a0594f44bd581f366
BLAKE2b-256 checksum
How to use checksums
eec4ad13c0c24fd30c9a226dc61037a9b4ad46e934e3fdb5a148485bee557767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release history Release notifications | RSS feed

6.0.0

2 release files

This release

5.2.0 This release

2 release files

3.3.3

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.15

2 release files

3.2.14

2 release files

3.2.12

2 release files

3.2.11

2 release files

3.2.10

2 release files

3.2.9

2 release files

3.2.7

2 release files

3.2.4

2 release files

3.2.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page