customtkinter
Create modern looking GUIs with Python
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 customtkinteruv
uv add customtkinterpoetry
poetry add customtkinterInstalling 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
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
tkinterdnd2Adds native drag-and-drop support to Tkinter…
permissive · top 15,000 on PyPI
ttkbootstrapApplies Bootstrap-inspired themes and a…
permissive · top 15,000 on PyPI
pysimpleguiPySimpleGUI wraps tkinter and other GUI…
copyleft · top 15,000 on PyPI
sv-ttkApplies a modern, Windows 11-inspired visual…
permissive · top 15,000 on PyPI
easyguiEasyGUI provides simple, non-event-driven GUI…
permissive · top 5,000 on PyPI
magicguiMagicgui builds graphical user interfaces…
permissive · top 15,000 on PyPI
tkcalendarProvides Calendar and DateEntry widgets for…
copyleft · top 15,000 on PyPI
django-admin-interfaceReplaces Django's default admin interface with…
permissive · top 15,000 on PyPI
panel-material-uiPanel Material UI brings Material Design…
permissive · top 5,000 on PyPI
rich-toolkitRich Toolkit provides opinionated CLI…
permissive · top 1,000 on PyPI