Use PyAutoGUI’s screenshot() function with a region tuple in (left, top, width, height) order. The first two numbers identify the upper-left screen coordinate; the last two define the rectangle’s size. The returned Pillow image can be saved directly:
import pyautogui
image = pyautogui.screenshot(region=(100, 150, 400, 300))
image.save('region.png')
The direct method
Install PyAutoGUI, choose the rectangle in screen coordinates, pass it as region=(left, top, width, height), and save the returned image. This captures what is currently visible on the desktop, not an arbitrary web page in the background.
| Tuple value | Meaning | Example |
|---|---|---|
left |
Horizontal position of the rectangle’s upper-left corner | 100 |
top |
Vertical position of the upper-left corner | 150 |
width |
Number of pixels captured to the right | 400 |
height |
Number of pixels captured downward | 300 |
It is not a pair of corners. Do not supply (left, top, right, bottom); convert the second corner to dimensions first: width = right - left and height = bottom - top.
Install PyAutoGUI and its screenshot dependencies
Screenshot support depends on Pillow, the Python imaging library. PyAutoGUI’s installation page gives platform-specific instructions; the commonly shown macOS and Linux command is:
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstall#1 Best Overall
- Battery-Free Pen: StarG640 drawing tablet is the perfect replacement for a traditional mouse! The XPPen advanced Battery-free PN01 stylus does not require charging, allowing for constant uninterrupted Draw and Play, making lines flow quicker and smoother, enhancing overall performance
- Ideal for Online Education: XPPen G640 graphics tablet is designed for digital drawing, painting, sketching, E-signatures, online teaching, remote work, photo editing, it's compatible with Microsoft Office apps like Word, PowerPoint, OneNote, Zoom, Xsplit etc. Works perfect than a mouse, visually present your handwritten notes, signatures precisely
- Compact and Portable: The G640 art tablet is only 2 mm thick, it's as slim as all primary level graphic tablets, allowing you to carry it with you on the go
- Chromebook Supported: XPPen G640 digital drawing tablet is ready to work seamlessly with Chromebook devices now, so you can create information-rich content and collaborate with teachers and classmates on Google Jamboard’s whiteboard; Take notes quickly and conveniently with Google Keep, and effortlessly sketch diagrams with the Google Canvas
- Multipurpose Use: Designed for playing OSU! Game, digital drawing, painting, sketch, sign documents digitally, this writing tablet also compatible with Microsoft Office programs like Word, PowerPoint, OneNote and more. Create mind-maps, draw diagrams or take notes as replacement for mouse
python3 -m pip install pyautogui
Windows instructions use the Windows Python launcher and are listed separately in the official installation guide. On Linux, that guide also names scrot and Tkinter as additional screenshot requirements. Package names and display-server requirements can change, so use the installation instructions that match your operating system and the PyAutoGUI release installed in your environment.
After installation, run the smallest possible check from a graphical desktop session:
import pyautogui
image = pyautogui.screenshot(region=(0, 0, 300, 400))
print(image.size)
The documented example uses a region beginning at the top-left corner. If this test raises an import or display error, fix the environment before debugging coordinates.
How PyAutoGUI screen coordinates work
PyAutoGUI uses the screen’s top-left as the coordinate origin. X increases as you move right, and Y increases as you move down, as described in the mouse-coordinate documentation. Therefore, a region starting at (100, 150) begins 100 pixels from the left edge and 150 pixels from the top edge.
Turning two corners into a region
If you know the upper-left corner (x1, y1) and lower-right corner (x2, y2), calculate the dimensions before calling PyAutoGUI:
x1, y1 = 100, 150
x2, y2 = 500, 450
region = (x1, y1, x2 - x1, y2 - y1)
image = pyautogui.screenshot(region=region)
image.save('region.png')
The resulting image is 400 pixels wide and 300 pixels high. If either calculated dimension is zero or negative, the corners are reversed or identical and the rectangle must be corrected.
Rank #2
- Customize Your Workflow: The 6 customizable press keys on Huion H640P drawing tablet for pc let you assign your most-used commands—like undo, zoom, brush switch, or save—so you can keep your hands on the tablet and your mind on the art. Whether you're a digital painter switching brushes, or a comic artist zooming in and out, these keys keep your workflow smooth and uninterrupted. Plus, the Huion driver lets you save different shortcut profiles for different apps, so you never have to reconfigure when switching software.
- Professional Pen Performance: Huion H640P drawing pad for computer comes with the battery-free PW100 stylus that's always ready when inspiration strikes. With 8192 levels of pressure sensitivity, every light sketch, or bold stroke responds naturally to your hand—just like a real pen. The 5080 LPI resolution and 233 PPS report rate deliver lag-free, precise strokes, so you can draw confidently without second-guessing your cursor. The pen side buttons help you switch between pen and eraser instantly.
- Compact and Portable: Huion H640P computer graphics tablet features a compact, ultra-portable design at just 0.3 inches thin and 0.61 lbs light, so it slides easily into your backpack—perfect for sketching in coffee shops, taking notes in class, or editing on the go between home and studio. The 6x4 inch active area offers enough room for natural pen movements while fitting comfortably on crowded desks, or lecture hall seats.
- Stable Compatibility: Huion H640P graphic drawing tablet works seamlessly with Mac, Windows, Linux PCs, and Android smartphones/tablets (OS version 6.0 or later). Left-handed friendly, and you just need to flip the tablet and adjust the settings in the driver. Please note: H640P does NOT support iPhone/iPad.
- Move Beyond the Mouse: Huion Inspiroy H640P is a pen tablet that replaces your mouse for more natural, precise control. Freehand draw, take notes, or even play OSU—everything you do with a mouse, you can do better with a pen. The precise tip makes it ideal for detailed photo editing, graphic design, or signing PDF. Meanwhile, the ergonomic pen grip helps you avoid the strain that comes from hours of using a mouse.
Retina and display scaling
Operating-system display scaling can make a visual measurement differ from the pixel coordinates expected by a screenshot API. If the capture is consistently shifted or the dimensions are not what you expect, test a small known rectangle and inspect image.size. Keep the coordinate system and scaling settings consistent between the application used to identify the rectangle and the Python process that captures it.
Save the region as a file
screenshot() returns a Pillow image object. You can process it in memory, or call save() with a filename. These are the two normal save patterns.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Capture first, then save
import pyautogui
left, top, width, height = 100, 150, 400, 300
image = pyautogui.screenshot(region=(left, top, width, height))
image.save('region.png')
Give the filename to screenshot()
import pyautogui
image = pyautogui.screenshot(
'region.png',
region=(100, 150, 400, 300),
)
The second form both writes the file and returns the image object. Use the first form when you need to inspect, transform, or make several output files from the same capture.
A reusable command-line script
This complete script keeps the rectangle and output path explicit, validates dimensions, and reports the resulting image size:
#!/usr/bin/env python3
import argparse
import pyautogui
def main():
parser = argparse.ArgumentParser(
description='Capture a rectangular screen region.'
)
parser.add_argument('output', help='output image filename')
parser.add_argument('--left', type=int, required=True)
parser.add_argument('--top', type=int, required=True)
parser.add_argument('--width', type=int, required=True)
parser.add_argument('--height', type=int, required=True)
args = parser.parse_args()
if args.width <= 0 or args.height <= 0:
parser.error('width and height must be positive')
image = pyautogui.screenshot(
args.output,
region=(args.left, args.top, args.width, args.height),
)
print(f'Saved {args.output}: {image.size[0]}x{image.size[1]}')
if __name__ == '__main__':
main()
Example invocation:
python capture_region.py region.png --left 100 --top 150 --width 400 --height 300
Capture repeatedly or protect against changing content
A region is sampled at the instant the screenshot call runs. If an application is animating, loading, or being covered by another window, the pixels captured will reflect that moment. For repeatable output:
- Bring the target window to the front before the call.
- Use the same window size, display arrangement, and scaling each time.
- Wait for the application to finish changing before taking the screenshot. A normal Python delay can be used when the timing is known.
- Capture one region per call and generate distinct filenames when collecting a sequence.
- Check
image.sizeand the saved file after a first run instead of assuming the rectangle is correct.
Keep the region no larger than necessary. A larger rectangle takes more memory to hold and write, while a small rectangle is easier to compare in automated workflows.
Recommended Free Tools
Rank #3
- Ultra thin tablet: Active Area 4 x 3 inches. Fully utilizing our 8192 levels of pen pressure sensitivity―Providing you with groundbreaking control and fluidity to expand your creative output. Please note: The 4 x 3 inches is very small, please confirm that it will meet your needs before you purchase it
- OSU game: Designed for OSU! gameplay, drawing, painting, sketching, E-signatures etc. No need to install drivers for OSU! It's also designed for both right and left hand users
- Accurate Pen Performance: StarG430S computer graphics tablet is the perfect replacement for a traditional mouse! The XPPen advanced Battery-free PN01 stylus does not require charging, allowing for constant uninterrupted Draw and Play, making lines flow quicker and smoother, enhancing overall performance
- Compact and Portable: The G430S art tablet is only 2 mm thick, it’s as slim as all primary level graphic tablets,Ultra-thin and portable, allowing you hold it in one hand and carry it on the go. This graphic drawing tablet supports Mac. However, since the product interface is micro USB to USB-A, if your computer is a Mac and does not have a USB-A port, you will need to purchase an OTG transfer adapter to ensure compatibility with your Mac. So please confirm your computer port before you purchase it
- PLEASE NOTE: The XPPen StarG 430 is compatible with the Windows system 11/10/8/7(32/64 bit), and the Mac OS X version 10.10 or later, but it is incompatible with iOS and iPad OS. If your computer is a Mac, you need to grant permission to the Mac preferences first. Please go to our official website, and according to the guide: XPPen>Support>FAQ, find out the Star G430 and click, then click the question according to your Mac system. There are detailed guidelines for installing the driver so your tablet will work correctly. It's possible incompatible with the customer's own EMR system or other signature system. Please feel free to contact us to confirm the compatibility before your purchase
Common errors and fixes
ModuleNotFoundError: No module named 'pyautogui'
PyAutoGUI is not installed in the Python environment running the script, or it was installed into a different virtual environment. Activate the intended environment and run its interpreter’s pip command, then verify with python -c "import pyautogui; print(pyautogui.__file__)". On systems where python points to another version, use the same interpreter for both installation and execution.
Missing Pillow or a screenshot backend
The screenshot function requires Pillow. Install or repair the package through the platform instructions. Linux users should also check the scrot and Tkinter requirements called out in the installation documentation.
The screenshot is the wrong area
Check the tuple order first. The correct order is position, then dimensions: left, top, width, height. A frequent mistake is entering a right or bottom coordinate where a width or height is required. Recalculate with the corner formula above and print the tuple before capturing.
The image is blank or shows the desktop
PyAutoGUI captures visible screen pixels. Make sure the intended window is not minimized, covered, on another virtual desktop, or still loading. Some operating-system security settings can restrict screen capture; test a simple visible desktop rectangle to distinguish an environment restriction from an application issue.
Free tools Windows power users keep installed
One-click scans. No signup required.
The call fails in a server, container, or remote session
A graphical display must be available to capture the screen. A headless process without an accessible desktop cannot provide the same pixels as an interactive session. Run the script inside the logged-in graphical session or use a browser screenshot service when the target is a web URL rather than the local desktop.
Coordinates work on one monitor but not another
Screen coordinates depend on the current monitor arrangement and scaling. Reconfirm the origin, monitor positions, and effective resolution after docking, undocking, or changing display settings. Store coordinates as configuration rather than assuming they remain valid on every workstation.
Rank #4
- Word-first 16K Pressure Levels: The upgraded stylus features 16,384 levels of pressure sensitivity and supports up to 60 degrees of tilt, delivering smoother lines and shading for a natural drawing experience. With no battery or charging needed, it operates like a real pen, making it easy for beginners to create effortlessly. This functionality helps novice artists develop their skills and explore their creativity without the intimidation of complex tools
- Designed for Beginners: This drawing pad desinged with 8 customizable shortcuts for both right and left-hand users, express keys create a highly ergonomic and convenient work platform
- Perfectly Adapted for Android: The XPPen Deco 01 V3 art tablet supports connections with Android devices running version 10.0 and above. It is recommended to download the XPPen Tools Android application, which adapts to your smartphone's screen aspect ratio, ensuring accurate mapping. It also supports mapping on Android screens with different aspect ratios in portrait mode
- Large Drawing Space, Bigger Bold Inspiration: This expansive drawing pad has10 x 6.25-inch helps you break through the limit between shortcut keys and drawing area
- Easy Connectivity for Beginners: The Deco 01 V3 offers USB-C to USB-C connectivity, plus adapters for USB C. This ensures easy connection to various devices, allowing beginner artists to set up quickly and focus on their creativity without compatibility concerns. Whether using a laptop, tablet, or desktop, the Deco 01 V3 provides a seamless experience, making it an ideal choice for those just starting their digital art journey
The output file is missing
Use an absolute path while testing and confirm that the Python process has write permission for the destination directory. The filename form of screenshot() writes immediately; the separate form requires an explicit image.save() call.
Timing, reliability, and file format notes
PyAutoGUI’s screenshot documentation gives an approximate figure of roughly 100 milliseconds for a 1920×1080 screenshot. That is a resolution-qualified documentation estimate, not a benchmark or a guarantee for every operating system, display server, or region size. Measure your own workflow if capture latency affects a test or monitoring loop.
For reliable automation, treat the screenshot as a point-in-time observation: establish the window state, capture, verify the dimensions, and handle file errors. PNG is a practical lossless default for UI text and diagrams; choose another format only when the Pillow image-saving behavior and your downstream consumer require it.
The PyAutoGUI screenshot reference documents the region parameter, filename behavior, Pillow return value, and its timing example. The quickstart cheat sheet provides additional usage examples. Because documentation pages and platform dependencies can evolve, compare these instructions with the documentation version that matches your installed release.
Or skip the browser setup
PyAutoGUI is the right choice when you need pixels from your own visible desktop. If the real target is a public or authenticated web page, ScreenshotNeo can render the URL on its servers instead of requiring a local browser, display session, and coordinate maintenance. It is a website screenshot API and MCP server for developers.
One GET request returns a PNG, JPEG, WebP, or PDF. The following cURL example is documented for the API; replace the URL with the page you need.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Best Value
- New upgraded version: Battery-free Stylus with 8192 Levels Pressure does not require charging, The report rate of the H420X graphic tablet has increased to 300 PPS, making lines quicker and smoother, and feel like a real pen. The pen also has 2 customizable buttons on the side that allow you to switch between right-clicking and the eraser etc instantly
- Graphic design tablet H420X is only 7mm in thickness and 167g in weight. A slim and compact design with a active area of 4.17x2.6 inches and dimension of 6.77x4.3 inches make it perfect for limited desktop space and easy to carry out when on a trip.
- H420X huion drawing tablet is compatible with Windows 7 or later, Mac OS 10.12 or later, and Android 6.0 or later. Huion H420X drawing pad has good compatibility with most drawing software including Adobe Photoshop, Paint tool sai, Corel Painter, Illustrator, Sketchbook, Manga Studio, Clip Studio Paint, Fireworks, Comic Studio, SAI, Krista, Infinite Stratos, Pixologic ZBrush and other major graphics applications, and more. H420X is NOT compatible with iOS.
- H420X computer graphics tablets also can be used for playing OSU games, signing documents, taking notes, and more. No need to install the driver. Just plug and play!
- The note taking tablet is also easier to handwrite write, edit, and annotate with a stylus for online education, e-learning, remote working, or web conference. HUION H420X also is compatible with XSplit, Zoom, Microsoft Teams, Word, Excel, PowerPoint, OneNote, and more
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python equivalent:
import requests
r = requests.get(
'https://api.screenshotneo.com/v1/shot',
params={'access_key': 'YOUR_API_KEY', 'url': 'https://stripe.com'},
timeout=90,
)
r.raise_for_status()
open('shot.webp', 'wb').write(r.content)
Node.js equivalent:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = Buffer.from(await res.arrayBuffer());
require('fs').writeFileSync('shot.webp', data);
See the ScreenshotNeo API documentation for authentication, output options, and request parameters. It can load lazy images, capture a CSS-selected element, set a viewport or device preset, use dark mode or retina scale, apply custom CSS and JavaScript, click before capture, wait for a selector, delay, or network idle, block selected requests or resource types, provide headers, cookies, a user agent, authorization, timezone, or geolocation, produce PDFs, resize images, cache with a chosen TTL, create signed public image links, run asynchronous jobs with signed webhooks, capture up to 100 URLs per call, and expose usage data. The parameter names used by other screenshot APIs also work, which can simplify migration.
- Cookie and consent banners, newsletter popups, and chat widgets are accepted or removed before capture; each cleanup step can be turned off.
- Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. Response headers identify the page verdict and whether the request was billed.
- An MCP server provides
take_screenshot,get_page_info, andcapture_pdftools for Claude, Cursor, and other MCP clients. - The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is included on every plan, and yearly billing gives two months free.
Start with ScreenshotNeo’s free sign-up to use the 1,000 monthly screenshots without a card.
FAQ
Can PyAutoGUI capture a region without saving a file?
Yes. Keep the returned Pillow image in memory and pass it to whatever image-processing or comparison code you use. Saving is optional unless another program needs a file.
Does the region argument crop after a full-screen capture?
The call requests the rectangle directly through region; it is not necessary to take a full-screen image first.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsIs PyAutoGUI suitable for capturing a page that is not visible?
No. It records visible desktop pixels. For a URL that must be rendered independently of your local desktop, use a browser screenshot API such as ScreenshotNeo.
Where are the official examples?
The screenshot reference at pyautogui.readthedocs.io includes the region example and save behavior; the coordinate explanation is in the mouse functions reference.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

