Font-based icons for Tkinter — 61,000+ icons across sixteen sets, one import, no image files to manage.
Install
One line puts a full icon set in your project:
pip install "tkinter-icons[material]"
import tkinter as tk
from tkinter import ttk
from tkinter_icons import MaterialIcon
root = tk.Tk()
home = MaterialIcon("home", size=24, color="#0F766E")
ttk.Button(root, text="Home", image=home.image, compound="left").pack(padx=20, pady=20)
root.mainloop()
The quotes matter — most shells treat unquoted brackets as a glob. Name two packs together as "tkinter-icons[material,simple]".
That is the whole model: one library, sixteen installable icon packs. The base package is the renderer; the glyphs come from the pack you named.
The sixteen packs
bootstrap · devicon · eva · fluent · fluent-regular · fontawesome · google-material · ionicons · lucide · material · meteocons · remix · rpg-awesome · simple · typicons · weather
Sizes, styles, and glyph counts for each: the packs page.
What you get
- One API across every pack. Each pack's class takes the same
(name, size, color, style), so switching sets is a one-line change. - Sharp at any size. Glyphs are centered on measured ink rather than the font's own bounding box, which under-reports it. Odd sizes snap even; small sizes oversample and downscale.
- No image assets to manage. Size and color are arguments, not files. No
icons/directory, no@2xduplicates, no second set for dark mode. - Follows your ttk theme.
icon.map(widget)tints the icon per widget state and re-renders it when the theme changes. - An icon browser. Run
tkinter-iconsto search every installed set and copy the name you need.
Documentation
Upgrading from ttkbootstrap-icons
This package was published as ttkbootstrap-icons through 4.0.0. Installing that name still works — it is now a forwarding shim — and the migration notes cover what genuinely changed.
License
MIT for the library. Each pack redistributes an upstream icon font under that project's own license, shipped inside the pack; see THIRD-PARTY-NOTICES.md.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tkinter_icons-5.0.0.tar.gz.
File metadata
- Download URL: tkinter_icons-5.0.0.tar.gz
- Upload date:
- Size: 52.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c87aed07731e3b3e98a33cfa09d93d855e3403eedc30ab3556803e92d1b766c
|
|
| MD5 |
1d4f3165f60bfbe9fc9a2daf2d9527f2
|
|
| BLAKE2b-256 |
3110eecae2878b8bb017b0dea4d4ea7c0178ff7c6d09c38c308b48c97f1d9e92
|
File details
Details for the file tkinter_icons-5.0.0-py3-none-any.whl.
File metadata
- Download URL: tkinter_icons-5.0.0-py3-none-any.whl
- Upload date:
- Size: 51.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
815dddf8ef28b572e278bedfe06d274cdda311734232edf9c5be5b8154ee2624
|
|
| MD5 |
3901ea98bb9c460299cb1fa19df3b26c
|
|
| BLAKE2b-256 |
e01108a34b0237e746bf5fc6d1eae599f9f34f8cfadf8789fd23579615d6ab08
|