Skip to main content

Welcome to CustomTkinter

CustomTkinter is a modern Python UI library based on Tkinter that provides new, fully customizable widgets with a consistent and modern look across all desktop platforms.

What is CustomTkinter?

CustomTkinter is a Python UI library that extends Tkinter with modern, beautiful widgets that automatically adapt to your system’s appearance mode. The widgets are created and used just like normal Tkinter widgets and can be combined with standard Tkinter elements.

Modern Design

Beautiful, customizable widgets that look great on all platforms

Dark Mode Support

Automatic adaptation to system appearance (light/dark mode)

HighDPI Scaling

Perfect rendering on high-resolution displays (Windows, macOS)

Cross-Platform

Consistent look across Windows, macOS, and Linux

Key Features

1

Drop-in Replacement

Use CustomTkinter widgets just like normal Tkinter widgets. Simply replace tkinter with customtkinter in your imports.
2

Appearance Modes

Choose between Light, Dark, or System mode. The widgets automatically adapt their colors.
3

Built-in Themes

Select from built-in color themes (blue, dark-blue, green) or create your own custom theme.
4

Modern Widgets

Access a complete set of modern widgets including buttons, sliders, progress bars, text boxes, and more.

Available Widgets

CustomTkinter provides modern alternatives to standard Tkinter widgets:
  • CTkButton - Customizable buttons with rounded corners
  • CTkLabel - Modern text labels
  • CTkEntry - Text input fields with placeholder support
  • CTkTextbox - Multi-line text input
  • CTkFrame - Container for organizing widgets
  • CTkScrollableFrame - Scrollable container with vertical/horizontal scrolling
  • CTkCheckBox - Checkbox with modern styling
  • CTkRadioButton - Radio buttons for exclusive selections
  • CTkSwitch - Toggle switch (iOS-style)
  • CTkSlider - Slider for value selection
  • CTkProgressBar - Progress indicator
  • CTkComboBox - Dropdown combo box
  • CTkOptionMenu - Dropdown menu
  • CTkSegmentedButton - Segmented control button
  • CTkTabview - Tabbed interface

Window Classes

  • CTk - Main application window (replaces tkinter.Tk)
  • CTkToplevel - Additional windows (replaces tkinter.Toplevel)
  • CTkInputDialog - Pre-built input dialog

Get Started

Installation

Learn how to install CustomTkinter using pip

Quick Start

Create your first CustomTkinter application in minutes
CustomTkinter is under active development. Update regularly with pip install customtkinter --upgrade to get the latest features and improvements.

Why CustomTkinter?

If you’re building desktop applications with Python and want:
  • A modern, professional appearance without complex setup
  • Dark mode support that adapts to system preferences
  • Beautiful widgets that work across Windows, macOS, and Linux
  • The simplicity of Tkinter with a modern design
Then CustomTkinter is the perfect choice for your project.

Build docs developers (and LLMs) love