skillfed

customtkinter

Create modern looking GUIs with Python

customtkinter v6.0.0 1.2M downloads/30d#4,223 on PyPI
Permissive license Creative Commons Zero v1.0 Universal Active released

What it is and what it does

CustomTkinter is a wrapper around Python's standard Tkinter library that adds modern visual styling and customization capabilities to desktop GUI applications. It allows developers to build graphical interfaces with a contemporary appearance while retaining Tkinter's simplicity and cross-platform compatibility. The package depends on darkdetect for system appearance detection, typing_extensions for type hints, and packaging for version handling.

Developers use CustomTkinter when they want to create desktop applications with polished, modern-looking interfaces without switching to heavier frameworks. It's particularly useful for projects where Tkinter's native widgets feel dated but a full framework like PyQt or wxPython adds unnecessary complexity. The library maintains active development and has achieved significant adoption in the Python GUI community.

Use it for:

  • Build desktop applications with modern dark/light theme support and contemporary widget styling.
  • Create simple data entry or configuration tools with a polished appearance using familiar Tkinter patterns.
  • Develop cross-platform GUI applications that look native on Windows, macOS, and Linux without framework overhead.
  • Prototype or iterate on GUI designs quickly while maintaining Tkinter's lightweight footprint and ease of learning.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

CustomTkinter wraps Python's Tkinter to provide modern, customizable graphical user interfaces with contemporary styling and appearance options.

Yes. CustomTkinter is actively maintained, has no known vulnerabilities, installs with minimal friction, and offers permissive licensing. It's a practical choice for developers who want modern GUI styling without abandoning Tkinter's simplicity or adopting a heavier framework. Install it if you're building desktop applications and want contemporary appearance with familiar Tkinter semantics.

Install

customtkinter on PyPI

pip

pip install customtkinter

uv

uv add customtkinter

poetry

poetry add customtkinter

Installing customtkinter

Before you install

Low friction installation; the package is actively maintained with a recent release cycle and depends only on lightweight runtime libraries (darkdetect, typing_extensions, packaging).

License in practice

Licensed under Creative Commons Zero v1.0 Universal with MIT classifier, offering permissive terms suitable for most use cases including commercial projects.

Quickstart

pip install customtkinter

import customtkinter
app = customtkinter.CTk()
app.mainloop()

Requires Python 3.7 or later; underlying Tkinter must be available on the system.

Verify before relying

  • Whether darkdetect integration enables automatic light/dark mode detection on all supported platforms.
  • Extent of widget customization options and styling API surface compared to standard Tkinter.

Package facts

License Creative Commons Zero v1.0 Universal (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 3 — darkdetect, typing_extensions, packaging
Maintenance actively maintained — 51 days since the last release
First released
Downloads 1,205,840/month — #4,223 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: customtkinter-6.0.0-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 :: Only

Tags

modern tkinter gui librarycustomizable python ui frameworktkinter with modern stylingpython desktop gui buildertkinter theme customizationmodern python gui toolkitstyled tkinter widgets
gui-frameworktkinter-wrapperdesktop-ui

More Application Frameworks packages