A plugin to capture the entire screen or part of it on desktop platforms.

macOS Windows Linux
Support βœ… βœ… ❌


Capture the entire screen

final area = await ScreenCapture().captureEntireScreen();

Capture a specific area of the screen

final topLeftCorner = Rect.fromLTWH(0, 0, 100, 100);
final area = await ScreenCapture().captureScreenArea(topLeftCorner);

Capture a single pixel color

final color = await ScreenCapture().captureScreenColor(100, 100);


There are 2 widgets you can use to see a live preview of a screen area or a pixel color. They both display what's under the mouse cursor.

Screen area preview:

  width: 72,
  height: 72,
  child: ScreenAreaLiveView(areaSize: 72 / 4),

Color live preview:

  width: 48,
  height: 48,
  child: ScreenColorLiveView(),

Advanced usage

See the example app for a complete usage example.

Current limitations

  • Linux is not supported yet.
  • Capturing on multiple screens is not supported yet.
  • Capturing on high-resolution screens (e.g. Retina displays) is not supported yet.

Support this project

Buy Me A Coffee

Other projects

🧰 exabox β€” Essential tools for developers: All the tools you need in one single app.

πŸ˜ƒ Ejimo β€” Emoji and symbol picker

πŸ—ΊοΈ WMap β€” Create beautiful, minimal, custom map wallpapers and backgrounds for your phone or tablet.

🎨 iroβ€Ώiro β€” Rearrange the colors to form beautiful patterns in this relaxing color puzzle game.


Created by @albemala (Twitter)