BlogScreenshots on your device
Best Free Website Screenshot Apps for Mac
Compare free Mac screenshot options for screen captures, scrolling windows and full webpages, with setup guidance and practical limits.
Quick answer: For an ordinary Mac screen, window, or selected-area capture, start with the built-in macOS Screenshot tool. For scrolling captures across webpages or other app windows, consider Shottr, which documents scrolling capture and offers OCR and markup. For a full webpage specifically, a browser extension such as GoFullPage is another route. These are feature matches based on the products’ published information, not comparative hands-on test results.
A full-screen screenshot and a full-page webpage screenshot solve different problems. The first records what is visible on your display. The second tries to capture content that extends below the browser’s viewport. Choose the tool based on which result you need.
1. Choose the right kind of screenshot
| Your task | Starting point | What to know |
|---|---|---|
| Capture the whole display, a window, or a selected region | macOS Screenshot | Built into macOS; opened with Shift-Command-5. Apple documents screen, window, and portion captures, along with screen and window recording. |
| Capture a long webpage or another scrollable app window | Shottr | Its official feature list includes scrolling screenshots, OCR, annotation, redaction, and other image tools. It is listed for macOS Catalina 10.15 or later. |
| Capture a full webpage from a browser | GoFullPage | Its official site presents it as a full-page screen-capture extension. Check its current browser store listing and compatibility before installing. |
For Apple’s documented controls, see the macOS Screenshot user guide. Shottr’s current features and free-use terms are on Shottr’s official site. GoFullPage information is at its official site.
2. Use the built-in macOS Screenshot tool
This is the simplest free option when the target is the display itself, a window, or a rectangular area. It does not require installing an app.
- Press Shift + Command + 5 to open the Screenshot controls.
- Choose capture of the entire screen, a window, or a selected portion.
- For a window, select the window when prompted. For a portion, drag to define the region.
- Use the options in the panel to choose available capture settings and save location, then capture.
- Open the saved image and check that it contains the area you intended.
Apple also documents keyboard shortcuts for screen captures and recording. The cited guide describes screen, window, and portion capture; it does not document scrolling capture of a whole webpage. If the page extends below the visible browser area, use a scrolling-capture app or a browser extension instead.
3. Use Shottr for scrolling capture and markup
Shottr is a Mac app to consider when you need to capture a long webpage or a scrollable window outside the browser. Its official feature list includes scrolling screenshots, OCR, annotation, redaction or pixelation, image combining, resizing, a ruler, and a color picker.
- Check the official site for the current download and system requirements. It lists macOS Catalina 10.15 or later.
- Open the target webpage or app and prepare the content you need to capture.
- Choose Shottr’s scrolling capture workflow and follow its on-screen selection and capture instructions.
- Review the resulting image from top to bottom. If necessary, capture again with the page in a more stable state.
- Use annotation or redaction tools if the image needs explanation or contains information you should not share.
Shottr says it can be used free for as long as desired, with periodic prompts to consider purchasing, and that most features are available to free users. Its FAQ says activation is needed for its upload feature, so do not assume uploading or sharing is included in free use. Check the current terms before relying on a particular feature.
4. Use a browser extension for a full webpage
If you only need a webpage capture from a browser, GoFullPage is a dedicated extension route. Its official page describes it as a full-page screen-capture extension. The available browsers, store listings, and installation steps can change, so use the official site to reach the current listing rather than relying on an old set of instructions.
- Open GoFullPage’s official site and confirm that a current extension is available for your browser.
- Install it from the linked official browser store, reviewing the requested permissions.
- Open the page, wait for its visible content to settle, and start the extension’s capture action.
- Inspect the complete saved result, especially the bottom of the page and any sections that load as you scroll.
A full-page browser capture can behave differently from a normal screen capture. Sticky headers may repeat or move, animations can be caught mid-frame, and lazy-loaded images may not appear until their sections load. These are reasons to inspect the output; they are not claims that a specific extension handles every site identically.
5. Compare the free options by fit
| Option | Best fit | Free-use details | Practical limit to check |
|---|---|---|---|
| macOS Screenshot | Display, window, or selected-area image; basic screen recording | Included with macOS | The cited Apple guide does not describe scrolling webpage capture. |
| Shottr | Scrolling capture in webpages and other app windows, plus OCR or annotation | Free to use indefinitely with periodic purchase prompts; most features are available. Activation is needed for upload. | Confirm current requirements and whether the specific feature you need is free. |
| GoFullPage | Full webpage capture in a supported browser | Confirm current listing and terms with the official site. | Browser compatibility and store availability can change. |
Use these criteria when choosing: whether you need a visible-screen image or an entire scrolling page; whether capture must work outside a browser; whether OCR or markup matters; which macOS version and browser you use; and whether free access has prompts, feature limits, or upload conditions.
6. Get a cleaner capture
- Prepare the page: Wait for fonts, images, and major content to load before starting.
- Handle lazy content: For long pages, scroll through the page first if sections or images appear only when they enter view, then return to the top and capture.
- Reduce motion: Pause video or animation when the page allows it. A capture records a moment, so moving elements can land in an unexpected state.
- Check sticky elements: Review whether a sticky navigation bar or floating button appears more than once or obscures content in the stitched image.
- Protect private data: Review the final image before sharing. Use redaction tools where available, and avoid capturing account details or personal information unnecessarily.
- Keep a source copy: Save the original capture before cropping, annotating, or compressing it if you may need to revise the image.
7. Troubleshoot common capture problems
| Problem | Likely cause | What to try |
|---|---|---|
| The screenshot only shows the visible part of the page | A screen capture records the display viewport rather than scrolling page content. | Use Shottr’s documented scrolling capture or a full-page browser extension such as GoFullPage. |
| A long capture has gaps or missing images | Some content may load only after scrolling, or the page may still be loading. | Scroll through the page first, wait for images, then capture again and inspect the result. |
| The header or floating controls appear oddly in the long image | Sticky or fixed elements can change position during a scrolling capture. | Check the saved image; if possible, adjust the page state or capture method and repeat. |
| The capture includes a transition or animation frame | The page was moving when the capture occurred. | Pause media, wait for transitions to finish, and capture again. |
| A browser extension is missing from the store or will not install | Store availability or browser support may have changed. | Start from the product’s official site and verify its current supported browser and listing. |
| An upload or sharing option is unavailable in Shottr | Shottr’s FAQ says activation is required for its upload feature. | Use a local save workflow or review Shottr’s current activation terms. |
8. Capture a webpage from code with ScreenshotNeo
If you need repeatable captures in a script, build process, or AI-agent workflow, ScreenshotNeo is a website screenshot API and MCP server from Yorker Media. Its API returns a screenshot or PDF from one GET request. The documented options include full-page capture with lazy images loaded, CSS selector element capture, device and viewport settings, dark mode, retina scale, custom CSS and JavaScript, wait conditions, request blocking, custom headers and cookies, caching, signed image links, asynchronous jobs, bulk capture, and PDF settings. See the ScreenshotNeo API documentation for parameter details.
Here is the DIY browser setup route for a full-page capture. Install Playwright and its Chromium browser in a Node.js project:
npm install playwright
npx playwright install chromium
Save this as capture.mjs and run node capture.mjs https://example.com:
import { chromium } from 'playwright';
const url = process.argv[2];
if (!url) throw new Error('Usage: node capture.mjs https://example.com');
const browser = await chromium.launch({ headless: true });
try {
const page = await browser.newPage({ viewport: { width: 1440, height: 900 } });
await page.goto(url, { waitUntil: 'networkidle', timeout: 60000 });
await page.screenshot({ path: 'page.png', fullPage: true });
console.log('Saved page.png');
} finally {
await browser.close();
}
networkidle is not suitable for every site; pages with persistent network activity can keep it waiting until timeout. If that happens, wait for domcontentloaded or a known selector instead, then add a short delay if the page needs time to render. For a very long page, review the output and consider capturing a specific element rather than producing an extremely tall image.
Or skip the browser setup
Use one request to save a screenshot. The examples use Stripe as the target; replace it with the page you are authorized to capture. See the ScreenshotNeo API docs for options such as full-page capture, output format, viewport, and waits.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
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(`ScreenshotNeo returned ${res.status}`);
await import('node:fs/promises').then(({ writeFile }) => writeFile('shot.webp', Buffer.from(await res.arrayBuffer())));
Before capture, ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers report the page verdict and billing status. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.
Sign up for 1,000 free screenshots a month, with no card required.
9. Cost, reliability, and performance notes
- Cost: macOS Screenshot is included with macOS. Shottr says free use is available indefinitely, with periodic purchase prompts, while upload requires activation. Check GoFullPage’s current listing and terms. For API captures, ScreenshotNeo offers 1,000 shots per month free without a card; listed plans are Starter $5 for 3,000, Growth $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000, and Business $249 for 1,000,000. Yearly billing gives two months free, and every feature is on every plan.
- Reliability: Desktop and extension captures depend on the page state, browser, permissions, and site behavior. Inspect important captures instead of assuming every page will stitch perfectly. For automated captures, use finite timeouts, handle non-success responses, and retain response metadata needed to diagnose failures.
- Performance: Full-page images use more time and storage than viewport captures. Reduce the viewport or capture a relevant element when a whole page is unnecessary. For repeated API requests, a chosen cache TTL can avoid recapturing unchanged pages; asynchronous jobs and bulk capture are available when processing many URLs.
- Repeatability: Fix viewport, device scale, timezone, geolocation, cookies, and relevant headers when those settings affect the page. Dynamic pages can produce different images at different times even with the same capture method.
10. Frequently asked questions
Does macOS Screenshot capture a whole scrolling website?
Apple’s cited guide documents screen, window, and selected-portion captures, but does not describe scrolling webpage capture. Use a scrolling-capture app or a browser extension for that task.
Which option works outside a browser?
Shottr explicitly lists scrolling screenshots for webpages and other app windows. macOS Screenshot is the built-in choice for ordinary screen, window, or area captures.
Is Shottr completely free?
Shottr says it can be used free indefinitely, with periodic prompts to consider purchasing. Most features are available to free users, while activation is needed for its upload feature.
Should I use a screenshot app or an API?
Use a Mac app or extension for occasional manual captures. Use an API when captures belong in scripts, repeatable workflows, or agent tools.


