matplotlib.pyplot.imread(fname, format=None)[source]

Read an image from a file into an array.

fnamestr or file-like

The image file to read: a filename, a URL or a file-like object opened in read-binary mode.

formatstr, optional

The image file format assumed for reading the data. If not given, the format is deduced from the filename. If nothing can be deduced, PNG is tried.


The image data. The returned array has shape

  • (M, N) for grayscale images.
  • (M, N, 3) for RGB images.
  • (M, N, 4) for RGBA images.


Matplotlib can only read PNGs natively. Further image formats are supported via the optional dependency on Pillow. Note, URL strings are not compatible with Pillow. Check the Pillow documentation for more information.