GitHunt
BO

BoboTiG/python-mss

An ultra fast cross-platform multiple screenshots module in pure Python using ctypes.

Python MSS

PyPI version
Anaconda version
Tests workflow
Downloads

Tip

Become my boss to help me work on this awesome software, and make the world better:

Patreon

from mss import mss

# The simplest use, save a screenshot of the 1st monitor
with mss() as sct:
    sct.shot()

An ultra-fast cross-platform multiple screenshots module in pure python using ctypes.

  • Python 3.9+, PEP8 compliant, no dependency, thread-safe;
  • very basic, it will grab one screenshot by monitor or a screenshot of all monitors and save it to a PNG file;
  • but you can use PIL and benefit from all its formats (or add yours directly);
  • integrate well with Numpy and OpenCV;
  • it could be easily embedded into games and other software which require fast and platform optimized methods to grab screenshots (like AI, Computer Vision);
  • get the source code on GitHub;
  • learn with a bunch of examples;
  • you can report a bug;
  • need some help? Use the tag python-mss on Stack Overflow;
  • and there is a complete, and beautiful, documentation :)
  • MSS stands for Multiple ScreenShots;

Installation

You can install it with pip:

python -m pip install -U --user mss

Or you can install it with Conda:

conda install -c conda-forge python-mss

In case of scaling and high DPI issues for external monitors: some packages (e.g. mouseinfo / pyautogui / pyscreeze) incorrectly call SetProcessDpiAware() during import process. To prevent that, import mss first.

Languages

Python99.8%PowerShell0.1%Shell0.1%
MIT License
Created July 1, 2013
Updated March 9, 2026
BoboTiG/python-mss | GitHunt