This question has been answered fully, but it's useful for me to be able to see what every font looks like so that I'm sure of which one I would like to use. In the interest of saving someone else from reinventing the wheel, I'll post my code here. As above, each font family is shown in a scrolling window. The difference is that each font in this code is printed in the font itself.

from tkinter import *
from tkinter import font

root = Tk()
root.title('Font Families')
fonts=list(font.families())
fonts.sort()

def populate(frame):
    '''Put in the fonts'''
    listnumber = 1
    for i, item in enumerate(fonts):
        label = "listlabel" + str(listnumber)
        label = Label(frame,text=item,font=(item, 16))
        label.grid(row=i)
        label.bind("<Button-1>",lambda e,item=item:copy_to_clipboard(item))
        listnumber += 1

def copy_to_clipboard(item):
    root.clipboard_clear()
    root.clipboard_append("font=('" + item.lstrip('@') + "', 12)")

def onFrameConfigure(canvas):
    '''Reset the scroll region to encompass the inner frame'''
    canvas.configure(scrollregion=canvas.bbox("all"))

canvas = Canvas(root, borderwidth=0, background="#ffffff")
frame = Frame(canvas, background="#ffffff")
vsb = Scrollbar(root, orient="vertical", command=canvas.yview)
canvas.configure(yscrollcommand=vsb.set)

vsb.pack(side="right", fill="y")
canvas.pack(side="left", fill="both", expand=True)
canvas.create_window((4,4), window=frame, anchor="nw")

frame.bind("<Configure>", lambda event, canvas=canvas: onFrameConfigure(canvas))

populate(frame)

root.mainloop()

I hope this helps somebody.

Edit: Clicking on font name will copy it to clipboard ready for use in your tkinter script, per request from @idbrii .

Answer from jimmiesrustled on Stack Overflow
Top answer
1 of 12
84

This question has been answered fully, but it's useful for me to be able to see what every font looks like so that I'm sure of which one I would like to use. In the interest of saving someone else from reinventing the wheel, I'll post my code here. As above, each font family is shown in a scrolling window. The difference is that each font in this code is printed in the font itself.

from tkinter import *
from tkinter import font

root = Tk()
root.title('Font Families')
fonts=list(font.families())
fonts.sort()

def populate(frame):
    '''Put in the fonts'''
    listnumber = 1
    for i, item in enumerate(fonts):
        label = "listlabel" + str(listnumber)
        label = Label(frame,text=item,font=(item, 16))
        label.grid(row=i)
        label.bind("<Button-1>",lambda e,item=item:copy_to_clipboard(item))
        listnumber += 1

def copy_to_clipboard(item):
    root.clipboard_clear()
    root.clipboard_append("font=('" + item.lstrip('@') + "', 12)")

def onFrameConfigure(canvas):
    '''Reset the scroll region to encompass the inner frame'''
    canvas.configure(scrollregion=canvas.bbox("all"))

canvas = Canvas(root, borderwidth=0, background="#ffffff")
frame = Frame(canvas, background="#ffffff")
vsb = Scrollbar(root, orient="vertical", command=canvas.yview)
canvas.configure(yscrollcommand=vsb.set)

vsb.pack(side="right", fill="y")
canvas.pack(side="left", fill="both", expand=True)
canvas.create_window((4,4), window=frame, anchor="nw")

frame.bind("<Configure>", lambda event, canvas=canvas: onFrameConfigure(canvas))

populate(frame)

root.mainloop()

I hope this helps somebody.

Edit: Clicking on font name will copy it to clipboard ready for use in your tkinter script, per request from @idbrii .

2 of 12
47
from tkinter import Tk, font
root = Tk()
font.families()
๐ŸŒ
Reddit
reddit.com โ€บ r/python โ€บ list of fonts for tkinter
r/Python on Reddit: List of fonts for tkinter
November 30, 2022 -

I have had a hard time looking for something that outlines all the fonts that Tkinter can use. so I decided to make my own list it's not big but it works so anyone who needs it here:

Arial

Times New Roman

Comic Sans MS

Courier New

Impact

Georgia

Lexend (make sure you specify if its bold, thin etc)

Comfortaa

if anyone has a link to a website that's better or has a better list put it in the comments please.

People also ask

How do the fonts listed in the document reflect the evolution of typography over time?
The fonts listed in the document demonstrate the evolution of typography from classic styles to modern and digital typefaces. Fonts like 'Times New Roman' and 'Courier New' reflect the historical emphasis on readability and formality, originating from print media. The transition to digital interfaces introduced fonts like 'Segoe UI' and 'Consolas', optimized for screen displays and scalability across various devices, indicating a shift towards functionality and minimalism in digital text presentation. This evolution showcases typography's adaptation to new media demands, emphasizing readabilit
๐ŸŒ
scribd.com
scribd.com โ€บ document โ€บ 626145634 โ€บ Fonts-in-tkinter
Tkinter Font Families and Options | PDF | Arial | Digital Typography
In what ways do system fonts like 'Segoe UI' and 'Tahoma' contribute to modern digital interfaces?
System fonts like 'Segoe UI' and 'Tahoma' contribute to modern digital interfaces by providing clean, readable, and versatile typography that suits both small and large screen displays. These fonts are optimized for readability, featuring clear letter shapes and consistent metrics that prevent visual strain, making them suitable for interfaces where clarity and usability are paramount. Additionally, their widespread availability across systems ensures that designs maintain their intended look without substitution discrepancies, supporting a consistent user experience across different devices .
๐ŸŒ
scribd.com
scribd.com โ€บ document โ€บ 626145634 โ€บ Fonts-in-tkinter
Tkinter Font Families and Options | PDF | Arial | Digital Typography
What challenges might designers face when incorporating both traditional and contemporary fonts such as 'Times New Roman' and 'Segoe Script' in a single project?
Designers might face challenges in achieving visual harmony and coherent style when incorporating both traditional and contemporary fonts like 'Times New Roman' and 'Segoe Script' in a single project. Traditional fonts are often associated with formality and readability, whereas contemporary fonts can convey a more informal or modern look. Combining these might lead to mismatched styles that can conflict in tone and purpose. Designers need to carefully manage contrasts in weight, scale, and spacing to ensure that the presentation supports the project's narrative without causing distraction or
๐ŸŒ
scribd.com
scribd.com โ€บ document โ€บ 626145634 โ€บ Fonts-in-tkinter
Tkinter Font Families and Options | PDF | Arial | Digital Typography
๐ŸŒ
TkDocs
tkdocs.com โ€บ tutorial โ€บ fonts.html
TkDocs Tutorial - Fonts, Colors, Images
Another way to specify fonts is via a list of attributes, starting with the font family, and optionally including a size and one or more style options. Some examples of this are Helvetica, Helvetica 12, Helvetica 12 bold, and Helvetica 12 bold italic.
๐ŸŒ
Tutorialspoint
tutorialspoint.com โ€บ python โ€บ tk_fonts.htm
Tkinter Fonts
Use thexfontsel program to help you select pleasing fonts.
๐ŸŒ
Python
docs.python.org โ€บ 3 โ€บ library โ€บ tkinter.font.html
tkinter.font โ€” Tkinter font wrapper
Source code: Lib/tkinter/font.py The tkinter.font module provides the Font class for creating and using named fonts. The different font weights and slants are:
๐ŸŒ
15. The Menu widget
anzeljg.github.io โ€บ rin2 โ€บ book2 โ€บ 2405 โ€บ docs โ€บ tkinter โ€บ fonts.html
5.4. Type fonts
For example, the font named '-*-lucidatypewriter-medium-r-*-*-*-140-*-*-*-*-*-*' is a good fixed-width font for onscreen use. Use the xfontsel program to help you select pleasing fonts. To get a list of all the families of fonts available on your platform, call this function:
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ python โ€บ tkinter-fonts
Enhancing Text Presentation with Tkinter Fonts - GeeksforGeeks
July 23, 2025 - In Graphical User Interfaces (GUIs), how text is presented holds significant importance for user experience. Tkinter, known as the Primary GUI toolkit for Python, provides powerful capabilities for font management using its Tkinter Fonts module. This module enables developers to tailor the ...
Find elsewhere
๐ŸŒ
YouTube
youtube.com โ€บ watch
Get list of all available fonts in Tkinter - YouTube
In this video, we will learn how to print or find all the available font names in Tkinter.
Published ย  July 6, 2024
๐ŸŒ
AIMosta
aimosta.com โ€บ Blogt โ€บ blogt-17.html
Fonts that Python Found in My System
April 30, 2023 - The missing fonts in a row, are replaced by an empty small list. In the code it is defined this way: emptyItem = ["Courier","",""] The entire empty rows, are represented by a list of 5 empty small list defined this way: [emptyList.append(emptyItem) for i in range(5)] And of course, the entire code is displayed below. ... from tkinter import * from tkinter import font from PIL import ImageTk, Image main_window=Tk() myList = font.families() numberOF = len(myList) myList = list(myList) myList.sort() main_window.title("Python Tkinter Cursors") bgColor="#24252B" fgColor ="#ffffff" fontsBL = [] font
๐ŸŒ
Scribd
scribd.com โ€บ document โ€บ 626145634 โ€บ Fonts-in-tkinter
Tkinter Font Families and Options | PDF | Arial | Digital Typography
This document lists over 200 font families that are commonly used in Microsoft products. Some of the most popular fonts included are Arial, Calibri, Times New Roman, Verdana, Segoe UI, and Comic Sans.
๐ŸŒ
O'Reilly
oreilly.com โ€บ library โ€บ view โ€บ python-gui-programming โ€บ 9781788835886 โ€บ 05db1907-59da-48b3-a361-e9ad072235d1.xhtml
Tkinter fonts - Python GUI Programming with Tkinter [Book]
May 15, 2018 - Tkinter fonts There are three ways of specifying a widget's font in Tkinter. The simplest way is to just use a string format: tk.Label(text="Direct font format", font="Times 20... - Selection from Python GUI Programming with Tkinter [Book]
Author ย  Alan D. Moore
Published ย  2018
Pages ย  452
๐ŸŒ
Tcl Developer Site
tcl-lang.org โ€บ man โ€บ tcl8.5 โ€บ TkCmd โ€บ font.htm
font manual page - Tk Built-In Commands
Query or modify the desired attributes for the named font called fontname. If no option is specified, returns a list describing all the options and their values for fontname. If a single option is specified with no value, then returns the current value of that attribute.
๐ŸŒ
Huihoo
docs.huihoo.com โ€บ tkinter โ€บ an-introduction-to-tkinter-1999 โ€บ x444-fonts.htm
Fonts - Huihoo
An Introduction to Tkinter ยท Widgets that allow you to display text in one way or another also allows you to specify which font to use. All widgets provide reasonable default values, and you seldom have to specify the font for simpler elements like labels and buttons
๐ŸŒ
TutorialsPoint
tutorialspoint.com โ€บ how-to-list-available-font-families-in-tkinter
How to list available font families in Tkinter?
April 22, 2021 - #Import required library from tkinter import * from tkinter import font #Create an instance of tkinter frame win = Tk() win.geometry("750x350") win.title('Font List') #Create a list of font using the font-family constructor fonts=list(font.families()) fonts.sort() def fill_frame(frame): for f in fonts: #Create a label to display the font label = Label(frame,text=f,font=(f, 14)).pack() def onFrameConfigure(canvas): canvas.configure(scrollregion=canvas.bbox("all")) #Create a canvas canvas = Canvas(win,bd=1, background="white") #Create a frame inside the canvas frame = Frame(canvas, background="w
๐ŸŒ
Delft Stack
delftstack.com โ€บ home โ€บ howto โ€บ python tkinter โ€บ how to set font of tkinter text widget
How to Set Font of Tkinter Text Widget | Delft Stack
February 2, 2024 - You could also list the font families in your working environment with the following codes, import tkinter as tk import tkinter.font as tkFont print(list(tkFont.families()))
๐ŸŒ
Scribd
scribd.com โ€บ document โ€บ 374525753 โ€บ Tkinter-Default-Colors-and-Fonts
Tkinter Colors and Fonts Overview | PDF
20 firebrick1 #ff3030 Monotype Corsiva firebrick2 #ee2c2c Niagara Engraved firebrick3 #cd2626 Niagara Solid firebrick4 #8b1a1a OCR A Extended floralwhite #fffaf0 Old English Text MT forestgreen #228b22 Onyx gainsboro #dcdcdc Palace Script MT ...
๐ŸŒ
AskPython
askpython.com โ€บ home โ€บ python tkinter tutorial: understanding the tkinter font class
Python Tkinter Tutorial: Understanding the Tkinter Font Class - AskPython
October 11, 2021 - Here is a list of the main components and classes of Tkinter. Root/Window: It is the main widget of this library. A resizable window that holds other sub widgets. Label: A label that can handle task of maintaining the labelling of each widget. It defines their properties. Button: A simple button that functions according to the user commands. Font...
๐ŸŒ
Linux Hint
linuxhint.com โ€บ tkinter-fonts
Tkinter Fonts
August 9, 2023 - Linux Hint LLC, [email protected] 1210 Kelly Park Circle, Morgan Hill, CA 95037 Privacy Policy and Terms of Use
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ how-to-set-font-for-text-in-tkinter
How to set font for Text in Tkinter? - GeeksforGeeks
April 1, 2025 - Explanation: In this code, a Text widget is created in the main window with a height of 10 lines. The font is set directly in the widgetโ€™s constructor using the tuple ("Verdana", 18, "italic"), which specifies the font family as "Verdana", the size as 18, and the style as "italic". ... Tkinter is Python's standard GUI (Graphical User Interface) package.