Display Image in Tk (tkinter)

An image can be loaded from disk and displayed within a label (tk.Label or ttk.Label) by using the tk.PhotoImage class:

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title("Display Image in Tk")
root.geometry("400x300")
# Load image from disk.
image = tk.PhotoImage(file="image.png")
# Display it within a label.
label = ttk.Label(image=image)
label.pack()
root.mainloop()
/images/display-image-in-tk-tkinter/label-image-tkinter.png

The image.png file must be in the same directory (actually the same working directory) as the code. The following example does not require any extra files because it includes the image data encoded via base64 inside a variable:

import tkinter as tk
from tkinter import ttk
from base64 import b64decode
root = tk.Tk()
root.title("Display Image in Tk")
root.geometry("400x300")
# Load image data from memory.
raw_image = "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"
image = tk.PhotoImage(data=b64decode(raw_image))
label = ttk.Label(image=image)
label.pack()
root.mainloop()

An image might be displayed within a button also. See Button in Tk (tkinter) for an example.