Try this:

boldStyle.configure("Bold.TButton", font = ('Sans','10','bold'))
boldButton = ttk.Button(formatBar, text = "B", width = 2, style = "Bold.Button")

Found it here.

You could of course change the font type to any type you like (if available :))

Answer from DavedeKoning on Stack Overflow
🌐
Reddit
reddit.com › r/learnpython › how to bold text in a tkinter button?
r/learnpython on Reddit: how to bold text in a tkinter button?
November 20, 2020 -

i keep finding info for the other widgets and not Button. heres the button i want to bold the text of:

        start_button = Button(  text="START",
                                height=5, width=40,
                                background="green",
                                activebackground="darkgreen",
                                foreground="white",
                                activeforeground="white",
                                command=self.StartProgram)
        # start button.
Discussions

How to change font and size of buttons and frame in tkinter using python? - Stack Overflow
This is the code that i used to generate a simple text box and a button in tkinter. What should be the parameters to have a better look of the frame and buttons? root = Tk.Tk() def submit(): More on stackoverflow.com
🌐 stackoverflow.com
python - Tkinter how to change TTK button to bold? - Stack Overflow
What's the most simplest way to ... default font? ... There may be a simpler way to do this, but it seems to work and meets your criteria. It does this by creating a custom ttk.Button subclass that has bold text by default, so shouldn't be affected by any changes to other button styles. import tkinter as tk import ... More on stackoverflow.com
🌐 stackoverflow.com
Font size on buttons
Can it be changed More on github.com
🌐 github.com
4
May 3, 2017
how to bold text in a tkinter button?
font=(fontname, size, "bold") More on reddit.com
🌐 r/learnpython
2
4
November 20, 2020
🌐
Python Forum
python-forum.io › thread-26854.html
How to make button text bold in Tkinter?
I've googled this but can't find an answer. I just want to make the text on a button bold.
🌐
Python Examples
pythonexamples.org › python-tkinter-button-change-font
How to change Tkinter Button font style? Examples
A Tk object gui is created to represent the main window of the application. The window is titled 'Python Examples - Button'. The window size is set to 500x200 pixels using the geometry() method. A custom font myFont is defined with a bold weight using font.Font(weight="bold").
🌐
TutorialKart
tutorialkart.com › python › tkinter › button › font
Tkinter Button font Option - Font Family, Size, Weight, Underline, Strikethrough, Slant
November 30, 2020 - Tkinter Button font option sets the font family, font size, font weight, slant, underline and overstrike properties of text in button. In other words, the font style of Button's text label.
Top answer
1 of 4
21

UPDATE: The New Mexico Tech tkinter website has been archived on GitHub. Also effbot was also archived since 2021.

First the best reference for Tkinter is this New Mexico Tech website. In the toc you will find a section on fonts, and in the section on Button widgets you'll find the option font.

you must have a Tkinter object to create a font

Python-2

Support for Python-2 has officially ended as of Jan 1, 2020

from Tkinter import *  # Note: UPPER case "T" in Tkinter
import tkFont
root = Tk()

Python-3

Python-3 Tk wrappers differ from Python-2

from tkinter import *  # Note: lower case "t" in tkinter
from tkinter import font as tkFont  # for convenience
root = Tk()

create a font like the example from New Mexico Tech website

helv36 = tkFont.Font(family='Helvetica', size=36, weight='bold')
# you don't have to use Helvetica or bold, this is just an example

(Note: recall for Python-3 font was imported as tkFont for convenience)

now you can set the font for button created from Button in the original post

button['font'] = helv36

The size of the button will depend on your geometry manager, EG: grid or pack. Only the grid method is covered in the layouts section by New Mexico Tech site, but effbot.org is also a great reference and he covers pack pretty well.

try:  # Python-2
    from Tkinter import *
    import tkFont
except ImportError:  # Python-3
    from tkinter import *
    from tkinter import font as tkFont
# using grid
# +------+-------------+
# | btn1 |    btn2     |
# +------+------+------+
# | btn3 | btn3 | btn4 |
# +-------------+------+
root = Tk()
# tkFont.BOLD == 'bold'
helv36 = tkFont.Font(family='Helvetica', size=36, weight=tkFont.BOLD)
btn1 = Button(text='btn1', font=helv36)
btn2 = Button(text='btn2', font=helv36)
btn3 = Button(text='btn3', font=helv36)
btn4 = Button(text='btn4', font=helv36)
btn5 = Button(text='btn5', font=helv36)
root.rowconfigure((0,1), weight=1)  # make buttons stretch when
root.columnconfigure((0,2), weight=1)  # when window is resized
btn1.grid(row=0, column=0, columnspan=1, sticky='EWNS')
btn2.grid(row=0, column=1, columnspan=2, sticky='EWNS')
btn3.grid(row=1, column=0, columnspan=1, sticky='EWNS')
btn4.grid(row=1, column=1, columnspan=1, sticky='EWNS')
btn5.grid(row=1, column=2, columnspan=1, sticky='EWNS')

Also try ttk.

2 of 4
8

tkdocs tutorial recommends using named fonts and styles if you want to tweak the appearences:

import random
try:
    import tkinter as Tk
    import tkinter.ttk as ttk
    import tkinter.font as font
except ImportError: # Python 2
    import Tkinter as Tk
    import ttk
    import tkFont as font

def change_font_family(query, named_font):
    named_font.configure(family=random.choice(font.families()))

root = parent = Tk.Tk()
root.title("Change font demo")

# standard named font (everything that uses it will change)
font.nametofont('TkDefaultFont').configure(size=5) # tiny

# you can use your own font
MyFont = font.Font(weight='bold')

query = Tk.StringVar()
ttk.Entry(parent, textvariable=query, font=MyFont).grid() # set font directly
ttk.Button(parent, text='Change Font Family',  style='TButton', # or use style
           command=lambda: change_font_family(query, MyFont)).grid()
query.set("The quick brown fox...")

# change font that widgets with 'TButton' style use
root.after(3000, lambda: ttk.Style().configure('TButton', font=MyFont))
# change font size for everything that uses MyFont
root.after(5000, lambda: MyFont.configure(size=48)) # in 5 seconds
root.mainloop()
Top answer
1 of 1
2

There may be a simpler way to do this, but it seems to work and meets your criteria. It does this by creating a custom ttk.Button subclass that has bold text by default, so shouldn't be affected by any changes to other button styles.

import tkinter as tk
import tkinter.font as tkFont
import tkinter.ttk as ttk
from tkinter import messagebox as tkMessageBox

class BoldButton(ttk.Button):
    """ A ttk.Button style with bold text. """

    def __init__(self, master=None, **kwargs):
        STYLE_NAME = 'Bold.TButton'

        if not ttk.Style().configure(STYLE_NAME):  # need to define style?
            # create copy of default button font attributes
            button = tk.Button(None)  # dummy button from which to extract default font
            font = (tkFont.Font(font=button['font'])).actual()  # get settings dict
            font['weight'] = 'bold'  # modify setting
            font = tkFont.Font(**font)  # use modified dict to create Font
            style = ttk.Style()
            style.configure(STYLE_NAME, font=font)  # define customized Button style

        super().__init__(master, style=STYLE_NAME, **kwargs)


if __name__ == '__main__':
    class Application(tk.Frame):
        """ Sample usage of BoldButton class. """
        def __init__(self, name, master=None):
            tk.Frame.__init__(self, master)
            self.master.title(name)
            self.grid()

            self.label = ttk.Label(master, text='Launch missiles?')
            self.label.grid(column=0, row=0, columnspan=2)

            # use default Button style
            self.save_button = ttk.Button(master, text='Proceed', command=self.launch)
            self.save_button.grid(column=0, row=1)

            # use custom Button style
            self.abort_button = BoldButton(master, text='Abort', command=self.quit)
            self.abort_button.grid(column=1, row=1)

        def launch(self):
            tkMessageBox.showinfo('Success', 'Enemy destroyed!')

    tk.Tk()
    app = Application('War')
    app.mainloop()

Result (Windows 7):

Find elsewhere
🌐
TutorialKart
tutorialkart.com › python › tkinter › how-to-set-bold-text-for-button-in-tkinter
How to Set Bold Text for Button in Tkinter
February 3, 2025 - Use "bold italic" for both bold and italic styles. Change the font family to “Courier New”, “Verdana”, or “Tahoma” for different looks. By customizing the text style, you can improve the visual appearance of buttons in your Tkinter ...
🌐
TutorialsPoint
tutorialspoint.com › how-to-change-the-font-and-size-of-buttons-and-frame-in-tkinter
How to change the font and size of buttons and frame in tkinter?
April 15, 2021 - #Import tkinter library from tkinter import * #Create an instance of tkinter frame win= Tk() #Set the Geometry win.geometry("750x250") def click_to_close(): win.destroy() #Create a Button button= Button(win, text= "Click to Close", font= ('Helvetica 20 bold italic'), command=click_to_close) ...
🌐
GitHub
github.com › TomSchimansky › CustomTkinter › discussions › 104
Font Size of Button text · TomSchimansky/CustomTkinter · Discussion #104
custom_font =("Times",30,'bold') btn = customtkinter.CTkButton(master=root, text="something", text_font=custom_font , command=func()) btn .pack()
Author   TomSchimansky
🌐
StackHowTo
stackhowto.com › home › python › tkinter › how to change font and size of buttons in tkinter python
How to change font and size of buttons in Tkinter Python - StackHowTo
January 12, 2022 - In your Python program, import tkinter.font, create the font.Font() object with the required options and assign the Font object to the ‘font’ option of the Button.
🌐
GeeksforGeeks
geeksforgeeks.org › python › how-to-set-font-for-text-in-tkinter
How to set font for Text in Tkinter - GeeksforGeeks
July 28, 2025 - The font is set using the tuple ("Comic Sans MS", 20, "bold") and applied via configure(). mainloop() keeps the window open and responsive. Another way to define a font is by passing the font properties directly into the widget’s constructor.
🌐
CSDN
devpress.csdn.net › python › 630459e27e6682346619a5a5.html
How to change font and size of buttons and frame in tkinter using python?_python_Mangs-Python
try: # Python-2 from Tkinter import * import tkFont except ImportError: # Python-3 from tkinter import * from tkinter import font as tkFont # using grid # +------+-------------+ # | btn1 | btn2 | # +------+------+------+ # | btn3 | btn3 | btn4 | # +-------------+------+ root = Tk() # tkFont.BOLD == 'bold' helv36 = tkFont.Font(family='Helvetica', size=36, weight=tkFont.BOLD) btn1 = Button(text='btn1', font=helv36) btn2 = Button(text='btn2', font=helv36) btn3 = Button(text='btn3', font=helv36) btn4 = Button(text='btn4', font=helv36) btn5 = Button(text='btn5', font=helv36) root.rowconfigure((0,1)
🌐
Hive
hive.blog › diy › @codemy › build-a-text-editor-part-6-creating-bold-and-italics-text-python-tkinter-gui-tutorial-109
Build A Text Editor Part 6 - Creating Bold and Italics Text - Python Tkinter GUI Tutorial #109 — Hive
August 17, 2020 - In this video we'll create a toolbar with buttons that allow us to make our text bold or italics. To add bold and italics text to our text box, we'll need to first define a new font, and then add as tag to the text widget with that new font. We'll do this for both bold and italics.
🌐
YouTube
youtube.com › codemy.com
Text Widget Bold and Italics Text - Python Tkinter GUI Tutorial #102 - YouTube
In this video I'll show you how to create Text Widget tags to change selected text to Bold or Italics. I'll also show you how to highlight text in the Text b...
Published   July 31, 2020
Views   1K
🌐
CopyProgramming
copyprogramming.com › howto › how-to-bold-selected-text-in-tkinter
How to Bold Text in Tkinter: Complete Guide with Python 3.14 Updates & Best Practices 2026 - How to bold text in tkinter python code example
January 3, 2026 - Create a tkinter.font.Font object with weight="bold" and assign it to the label's font parameter, or use the tuple syntax font=("Arial", 12, "bold") directly in the label constructor.
🌐
GitHub
github.com › lawsie › guizero › issues › 21
Font size on buttons · Issue #21 · lawsie/guizero
May 3, 2017 - Font size on buttons#21 · Copy link · lawsie · opened · on May 3, 2017 · Issue body actions · Can it be changed? Reactions are currently unavailable · No one assigned · No labels · No labels · No projects · No milestone · None yet · No branches or pull requests ·
Author   lawsie
🌐
GeeksforGeeks
geeksforgeeks.org › tkinter-fonts
Enhancing Text Presentation with Tkinter Fonts - GeeksforGeeks
April 24, 2024 - In this example, below code sets up a Tkinter window and creates a bold Helvetica font.
🌐
GeeksforGeeks
geeksforgeeks.org › python › how-to-make-a-label-bold-tkinter
How To Make A Label Bold Tkinter? - GeeksforGeeks
July 23, 2025 - The constructor of BoldLabel creates a bold version of the existing font and applies it to the label. This custom class allows for easy creation of bold labels. ... import tkinter as tk from tkinter import font class BoldLabel(tk.Label): def ...