Best overall: use grim with slurp. Grim captures a Wayland surface, slurp lets you draw a region, and wl-clipboard sends the result to your clipboard. Add swappy or Satty for annotation. If you prefer one Hyprland-specific command, choose Hyprshot.
This guide compares the practical choices for Hyprland: capture scope, selection, window freezing, annotation, clipboard handling, portals, and dependency burden.
Quick choice guide
| Tool or workflow | Best for | What it provides | Main trade-off |
|---|---|---|---|
| grim + slurp | Minimal, dependable setup | Wayland capture plus interactive region selection | Several small commands to configure |
| Hyprshot | Hyprland users who want one wrapper | Window, region and monitor modes; file and clipboard output | More dependencies, including jq and libnotify |
| Satty | Modern annotation | Markup and editing after a capture | It is an annotation stage, not the capture backend |
| swappy | Simple post-capture editing | Annotation from a piped image | Less of an all-in-one workflow |
| Flameshot | Graphical annotation interface | Interactive GUI workflow | Wayland capture depends on correctly configured portal support |
| HyprCapture | Compositor-oriented capture and recording | Hyprland-focused screenshot and recording behavior | Verify current packaging and maintenance before installing |
| hyprsnap | Feature-rich scripted workflows | grim, slurp, rofi and hyprpicker integration; region, window and full-screen capture | Script and dependency status can change |
No authoritative performance, adoption or reliability statistics establish a numeric winner. The recommendations here follow the documented workflow and dependency differences.
Why grim and slurp are the default recommendation
Hyprland is a Wayland compositor, so a native Wayland capture utility avoids the X11 assumptions that cause trouble in mixed environments. Grim is the base capture program in the official Hyprland examples. It can capture an entire output or accept a geometry string. Slurp supplies that geometry interactively: you drag a rectangle and it prints coordinates for grim.
#1 Best Overall
- Intel Core i5-1335U Processor (12M Cache, 12 Threads, up to 4.6 GHz) - 256GB Solid State Drive - 16GB DDR4 SDRAM
- 15.6" FHD (1920x1080) Non-Touch Anti-Glare Display - Intel UHD 620 Integrated Graphics - Stereo Speakers
- 720p HD Webcam with Privacy Shutter. Integrated Microphone - Intel Dual Band Wireless-AC (2x2) 8265, Bluetooth Version 4.2
- I/O Ports: 2x USB 3.0, 1x USB 3.1 Type-C 3.1, Headphone/Mic Combo Port, 4-in-1 Card Reader, HDMI, Kensington Mini-Lock Slot
- Linux Mint (Cinnamon) 64-Bit - Keyboard with Full NumberPad - Fast Charging
Install the dependency chain
Package names and availability differ by distribution. Install these packages from your distribution’s repositories or package helper:
grimfor Wayland screenshots.slurpfor interactive region selection.wl-clipboardwhen you needwl-copyorwl-paste.swappyorSattyif you want annotation.
Confirm that each executable is on your PATH with command -v grim slurp wl-copy. Add the annotation command only after the basic capture works.
Capture a selected region to a file
grim -g "$(slurp)" ~/Pictures/hyprland-$(date +%Y%m%d-%H%M%S).png
Slurp waits for your drag selection; grim then writes a PNG. Pressing Escape in the selection step normally cancels the pipeline, so no screenshot is produced.
Capture the whole output
grim ~/Pictures/hyprland-$(date +%Y%m%d-%H%M%S).png
This captures the default output. For multi-monitor setups, select the output explicitly using grim’s geometry/output options and the syntax documented by the version installed on your system.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteCopy a region directly to the clipboard
grim -g "$(slurp)" - | wl-copy
The hyphen tells grim to write PNG data to standard output. Wl-clipboard keeps the image available to Wayland applications until the clipboard owner exits or another item replaces it.
Rank #2
- Intel Core i5-10210U (up to 4.2GHz) - 1TB PCIe NVMe + 1TB HDD - 32GB DDR4 SDRAM
- 17.3" HD+ (1600x900) Display, Intel UHD Graphics 620
- Built in HD 720p Webcam with Microphone - Bluetooth Version4.2
- I/O Ports: 2x USB 3.1 (Data Only), 1x USB 2.0, 1x HDMI, 1x Headphone/Microphone Combo Jack
- Linux Mint Cinnamon 64-Bit - 6-Row Keyboard w/ Full Numberpad
Annotate before saving or copying
The Hyprland wiki demonstrates piping grim into swappy:
grim -g "$(slurp)" - | swappy -f -
Satty follows the same composition model. A timestamped file plus clipboard copy can be built as:
grim -g "$(slurp)" - | satty --filename - --output-filename ~/Pictures/annotated-$(date +%Y%m%d-%H%M%S).png
Satty’s exact flags can vary by packaged version; run satty --help and keep the grim/slurp pipeline unchanged if an option differs. Satty is described by the Hyprland project as a modern annotation tool inspired by swappy and Flameshot.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Bind the workflow to Hyprland
Put a key binding in your Hyprland configuration (usually ~/.config/hypr/hyprland.conf). Adjust the key and terminal-independent command to your preference:
bind = SUPER, S, exec, grim -g "$(slurp)" ~/Pictures/region-$(date +%Y%m%d-%H%M%S).png
bind = SUPER SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
bind = SUPER ALT, S, exec, grim -g "$(slurp)" - | satty --filename -
Reload Hyprland after editing with your normal configuration-reload binding or the documented reload command. If shell quoting behaves unexpectedly in a binding, place the pipeline in a script such as ~/.local/bin/hypr-region-shot and bind that script instead.
Rank #3
- [ULTRA-RUGGED DESIGN] MIL-STD-810G and IP65 certified. Built to survive 6-foot drops, heavy rain, and extreme vibrations. Features a magnesium alloy chassis with an integrated carry handle for maximum portability
- [4G LTE - WORK ANYWHERE] Integrated 4G LTE Multi-Carrier Mobile Broadband. Stay connected to the internet in remote areas or on the road without relying on Wi-Fi or phone hotspots. True mobile freedom for field professionals
- [1200-NIT SUNLIGHT READABLE] 13.1" XGA Touchscreen with CircuLumin technology. At 1200 nits, it is nearly 4x brighter than a standard laptop, ensuring perfect visibility under direct, intense sunlight
- [LINUX UBUNTU PRE-INSTALLED] Fast, secure, and bloatware-free. Optimized for developers, network engineers, and diagnostic software that thrives in a stable, open-source environment
- [LEGACY SERIAL PORT] Features a native RS-232 Serial Port, HDMI, and USB 3.0. Essential for connecting directly to industrial machinery, CNCs, and automotive diagnostic tools without unreliable adapter
When Hyprshot is the better choice
Hyprshot is a Hyprland-oriented wrapper designed to take screenshots with the mouse. Its README documents window, region and monitor modes, saving to a selected folder and copying to the clipboard. It depends on Hyprland, jq, grim, slurp, wl-clipboard and libnotify; hyprpicker is optional for freezing the screen.
Choose Hyprshot for one-command modes
- Region: interactive selection through slurp.
- Window: capture a selected Hyprland window.
- Monitor: capture an entire output.
- Output: save to a chosen directory or copy to the clipboard, depending on the options in your installed release.
Because command-line flags can change between package versions, inspect the installed interface with hyprshot --help and use the mode names shown there. If a mode fails, test the underlying grim command first; this separates a compositor or permission issue from a wrapper configuration issue.
Annotation: Satty, swappy or Flameshot
Satty
Use Satty when you want a modern editor after capture. It accepts image data from a pipe, so it fits naturally after grim -g "$(slurp)" -. This keeps capture and editing separate and makes it easy to switch between file output and clipboard output.
swappy
Swappy is a straightforward annotation stage. The official Hyprland example is:
grim -g "$(slurp)" - | swappy -f -
It is a good choice when you already have it packaged and want a small, composable pipeline rather than a larger launcher.
Rank #4
- THE POWER TO STAY PRODUCTIVE – Looking to make your everyday work and home life more manageable without breaking the bank? The Lenovo V15 Gen 4 offers long-term reliability with top-of-the-line features to make you your most productive self.
- CRUSH YOUR TO-DO LIST – The AMD Ryzen CPU pairs quiet performance and enhanced operating power to crush your high-demand workday. It optimizes performance and allows for seamless multitasking.
- TRUE-TO-LIFE VISUALS – The 15.6” FHD IPS display is anti-glare with 300 nits brightness to see your best outside or in. Its 88% screen-to-body ratio makes viewing detailed applications like spreadsheets a breeze.
- SEAMLESS COLLABORATION – Lenovo Smart Appearance enhances your camera effects to protect your privacy and to make you the focus of every video conference. Intelligent noise cancelation minimizes distraction and Dolby Audio provides an elegantly sonorous experience.
- BUILT TO WITHSTAND – Built for military-grade toughness, the V15 Gen 4 is tested to withstand harsh temperatures, pressure, humidity, vibrations and more. Keep your work safe from the board room to your living room and everywhere in between.
Flameshot
Flameshot is the choice when a built-in graphical annotation interface matters. On Wayland, the Hyprland project warns that Flameshot relies on desktop portal support. Configure the relevant portal components for your desktop and compositor, such as the Hyprland portal implementation where your distribution provides it. If capture opens no selection or returns an error, verify portal services before changing screenshot key bindings.
HyprCapture and hyprsnap
HyprCapture
HyprCapture is a Hyprland-oriented screenshot and recording utility. It targets users who want capture and recording behavior organized around the compositor instead of assembling individual commands. Check current package names, supported options and maintenance activity at install time.
hyprsnap
Hyprsnap is a newer script-based alternative combining grim, slurp, rofi and hyprpicker. It can freeze the screen and capture regions, windows or full screens. Freezing is useful for transient menus and tooltips that disappear as soon as you move the pointer. Since it is script-based, verify its dependencies and current repository state before relying on it in an automated workflow.
Freezing transient menus and other edge cases
- Menus vanish during selection: use a workflow with screen freezing, such as a configured hyprpicker-based script, or capture the full output and crop later.
- Clipboard is empty: install
wl-clipboard, confirmwl-copyis available, and keep the pipe open long enough for the receiving application to read the image. - Only a black or blank image appears: run grim without a selector to determine whether the issue is slurp geometry or compositor capture. Then check that the session is Wayland and that the target surface is visible.
- Multi-monitor selection is confusing: inspect your Hyprland monitor layout and test one output at a time. A full-output capture is a useful diagnostic.
- Window mode misses the intended window: test the same area with slurp. If that works, inspect Hyprshot’s window-selection dependencies and current options.
- Portal errors with Flameshot: start with portal configuration and service logs; changing grim flags will not fix a missing portal backend.
Reliability, performance and maintenance considerations
These tools are lightweight and composable, but reliability depends on the whole chain: compositor permissions, the selector, clipboard service, annotation program and your desktop’s portal setup. A two-command grim/slurp pipeline has fewer moving parts than a wrapper plus optional freezing and notifications. Hyprshot reduces typing but adds jq and libnotify. Flameshot can provide the richest GUI experience while introducing portal configuration.
For repeatable automation, save files with timestamps, use an absolute destination directory and check the process exit status. For interactive work, bind region-to-clipboard and region-to-file separately so a failed clipboard service does not overwrite your saved capture.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, 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 minuteBest Value
- Powerful Linux Laptop: This IdeaPad Slim 3 Laptop comes pre-installed with Ubuntu Linux, offering fast performance, robust security, and a clean, user-friendly experience. Enjoy full customization, seamless hardware compatibility, and access to thousands of open-source apps. Whether you're working, creating, or coding, it's built to keep up with everything you do.
- A Multitasking Master: The latest AMD Ryzen 7 5825U processor (up to 4.5 GHz) delivers powerful performance with 8 cores and 16 threads for smooth multitasking. Integrated AMD Radeon Graphics provide crisp visuals for streaming, browsing, photo editing, and casual gaming. With smart machine intelligence, it adapts to your needs for a fast, responsive experience.
- 15.6" Full HD Display: The IdeaPad Slim 3 boasts an 88% screen-to-body ratio for a floating, edge-to-edge visual experience. TÜV Low Blue Light certification reduces eye strain, making it perfect for long work or study sessions.
- Military-Grade Durability: The smart IdeaPad Slim 3 combines portability and durability, letting you work, study, and play on the go. With a profile 10% slimmer than the previous generation, it's lightweight yet military-grade rugged, ready for anything, anywhere.
- Versatile Connectivity: Enjoy the security of a built-in webcam with a privacy shutter. Connect effortlessly with multiple ports: 2x USB A, 1x USB C, 1x HDMI, 1x SD Card Reader, 1x Headphone/Microphone combo. Bundle comes with Stylus Pen, 256GB Portable SSD and 5-in-1 Docking Station.
Or skip the browser setup
For screenshots of public websites rather than your local Hyprland desktop, ScreenshotNeo is a separate option: one GET request returns a PNG, JPEG, WebP or PDF. It is not a replacement for grim when you need a local monitor or window, but it avoids running a browser for website captures. Cookie and consent banners, newsletter popups and chat widgets are removed before the shot; bot checks, blank pages and failed loads are never billed. An MCP server lets AI agents use take_screenshot, get_page_info and capture_pdf. The free plan includes 1,000 screenshots per month with no card, and paid plans start at $5 for 3,000 shots.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for parameters, response headers and options such as full-page capture, CSS selectors, custom CSS or JavaScript, device presets, PDF settings and signed links.
Create a free ScreenshotNeo account to get 1,000 screenshots each month without adding a card.
Python and Node.js website capture examples
Python
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
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 fs = await import('node:fs/promises');
await fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));
Practical decision checklist
- Need the smallest native Wayland setup? Install grim and slurp.
- Need clipboard output? Add wl-clipboard and test
grim -g "$(slurp)" - | wl-copy. - Need markup? Pipe into Satty or swappy.
- Need window, region and monitor modes behind one command? Use Hyprshot and install its documented dependencies.
- Need a graphical workflow and already have portals configured? Consider Flameshot.
- Need frozen menus or compositor-integrated recording? Evaluate HyprCapture or hyprsnap and verify current maintenance.
- Need a screenshot of a website, not your local display? Use ScreenshotNeo’s API instead of a local browser setup.
Frequently Asked Questions
Can grim capture a selected window by itself?
Grim captures a surface or geometry; interactive selection comes from slurp. A Hyprland-specific wrapper such as Hyprshot is more convenient for window mode.
Free tools Windows power users keep installed
One-click scans. No signup required.
Why does my screenshot copy as text instead of an image?
Use wl-copy with the PNG bytes from grim, for example grim -g "$(slurp)" - | wl-copy, and ensure wl-clipboard is installed in the Wayland session.
Which tool should I use for a disappearing context menu?
Choose a workflow that freezes the screen, such as a hyprpicker-based hyprsnap setup, then select the menu while it remains visible.
Does ScreenshotNeo capture my Hyprland monitor?
No. ScreenshotNeo captures web URLs through its API. Use grim, Hyprshot or another local Wayland tool for your desktop.
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.
Recommended Free Tools




