On/Off Toggle Button Switch in Tkinter Last Updated : 23 Jul, 2025 Comments Improve Suggest changes 5 Likes Like Report Prerequisite: Tkinter Python offers multiple options for developing a GUI (Graphical User Interface). Out of all the GUI methods, Tkinter is the most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. Python with Tkinter is the fastest and easiest way to create GUI applications. In this article, we will learn how to make an on/off switch using Tkinter. Approach: Make a global variable named as is_on; the default value is True, which indicates the switch is ON.Make two Image Objects; one object has "on image" and another one has "off image".Create a button that has "on image" as default; set the border width to be zero.Make a function that will change the button image, using the config() method.The function will check, whether the is_on value is True or False Image link: Switch OnSwitch Off Below is the Implementation: Python3 # Import Module from tkinter import * # Create Object root = Tk() # Add Title root.title('On/Off Switch!') # Add Geometry root.geometry("500x300") # Keep track of the button state on/off #global is_on is_on = True # Create Label my_label = Label(root, text = "The Switch Is On!", fg = "green", font = ("Helvetica", 32)) my_label.pack(pady = 20) # Define our switch function def switch(): global is_on # Determine is on or off if is_on: on_button.config(image = off) my_label.config(text = "The Switch is Off", fg = "grey") is_on = False else: on_button.config(image = on) my_label.config(text = "The Switch is On", fg = "green") is_on = True # Define Our Images on = PhotoImage(file = "on.png") off = PhotoImage(file = "off.png") # Create A Button on_button = Button(root, image = on, bd = 0, command = switch) on_button.pack(pady = 50) # Execute Tkinter root.mainloop() Output: Create Quiz Comment A abhigoya Follow 5 Improve A abhigoya Follow 5 Improve Article Tags : Python Python-tkinter Python Tkinter-exercises Explore Python FundamentalsPython Introduction 2 min read Input and Output in Python 4 min read Python Variables 4 min read Python Operators 4 min read Python Keywords 2 min read Python Data Types 8 min read Conditional Statements in Python 3 min read Loops in Python - For, While and Nested Loops 5 min read Python Functions 5 min read Recursion in Python 4 min read Python Lambda Functions 5 min read Python Data StructuresPython String 5 min read Python Lists 4 min read Python Tuples 4 min read Python Dictionary 3 min read Python Sets 6 min read Python Arrays 7 min read List Comprehension in Python 4 min read Advanced PythonPython OOP Concepts 11 min read Python Exception Handling 5 min read File Handling in Python 4 min read Python Database Tutorial 4 min read Python MongoDB Tutorial 3 min read Python MySQL 9 min read Python Packages 10 min read Python Modules 3 min read Python DSA Libraries 15 min read List of Python GUI Library and Packages 3 min read Data Science with PythonNumPy Tutorial - Python Library 3 min read Pandas Tutorial 4 min read Matplotlib Tutorial 5 min read Python Seaborn Tutorial 3 min read StatsModel Library - Tutorial 3 min read Learning Model Building in Scikit-learn 6 min read TensorFlow Tutorial 2 min read PyTorch Tutorial 6 min read Web Development with PythonFlask Tutorial 8 min read Django Tutorial | Learn Django Framework 7 min read Django ORM - Inserting, Updating & Deleting Data 4 min read Templating With Jinja2 in Flask 6 min read Django Templates 5 min read Build a REST API using Flask - Python 3 min read Building a Simple API with Django REST Framework 3 min read Python PracticePython Quiz 1 min read Python Coding Practice 1 min read Python Interview Questions and Answers 15+ min read Like