A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.
Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.
✳
✳
✓ Free to use✓ No sign-up✓ 500+ possibilities
About this tool
Page Screenshot Service sends a publicly reachable HTTP(S) URL to the screenshot backend, which captures it with a desktop, tablet, or mobile viewport. Choose a viewport-only or full-page capture and PNG or JPG output. The target must be reachable by the server and may render differently when it requires login, blocks automation, or depends on private network access; the screenshot is a capture of the returned page, not a guarantee of how every crawler sees it.
Why use it
Real browser rendering means JavaScript, fonts, and CSS all execute — no blank or broken pages.
Three device presets let you test mobile, tablet, and desktop layouts in one tool.
Full-page capture grabs content below the fold that viewport screenshots miss.
PNG and JPG format choice balances quality versus file size for your use case.
Private IP blocking prevents misuse for internal network reconnaissance.
No software install — capture any page in seconds from any device.
How to use
- Enter the full URL of the page you want to screenshot (must start with https:// or http://).
- Click a device preset chip — Desktop, Tablet, or Mobile — to set the viewport dimensions.
- Toggle 'Full page' on to capture the entire scrollable page, or leave it off for viewport only.
- Choose PNG for lossless quality or JPG for a smaller file.
- Click Screenshot. A spinner indicates the capture is in progress (usually 5-10 seconds).
- Preview the screenshot inline, then click Download to save it to your device.
When it helps
- Checking how a webpage looks on mobile without opening DevTools and toggling responsive mode
- Generating screenshots for client presentations or bug reports.
- Archiving the visual state of a page before making changes.
- Testing OG/social preview images by seeing what a crawler would render.
- Creating thumbnails or preview images for documentation.
Examples
01Desktop full-page screenshot
InputURL: https://www.example.com
Device: Desktop (1280×800)
Full page: ON
Format: PNG
Expected resultPNG file approximately 1280px wide by full document height (e.g. 4200px tall), showing the page from top to footer with all CSS rendered.
02Mobile viewport-only screenshot
InputURL: https://news.ycombinator.com
Device: Mobile (375×812)
Full page: OFF
Format: JPG
Expected resultJPG file 375×812 px showing the mobile layout at the top of the page, ideal for sharing in chat as a quick visual reference.
InputURL: https://blog.example.com/post-slug
Device: Desktop (1280×800)
Full page: OFF
Format: PNG
Expected result1280×800 PNG showing the page hero, used to verify what social-media crawlers (Twitter, Facebook, LinkedIn) approximate when generating link previews.
Tips
- Use the Mobile preset (375×812 — iPhone 13 Pro size) when checking responsive layouts, not the Tablet preset.
- Full-page mode triggers a virtual scroll to ensure lazy-loaded images and infinite-scroll first-batch content render.
- JPG at default quality is fine for most screenshots; switch to PNG only when you need pixel-perfect text rendering.
- If the page has cookie banners, the screenshot will include them — there is no way to dismiss interactive prompts.
- Pages with auth walls return the login screen since the headless browser has no session cookies.
- For viewport-only shots, content below the fold is not captured — toggle full-page on for marketing pages and blogs.
- Repeated captures of the same URL may take longer if the site has weak caching or many third-party scripts.
Frequently Asked Questions
Which rendering engine does this use?⌄
The server uses Playwright with Chromium as the primary renderer. If Playwright is unavailable, it automatically falls back to Puppeteer (also Chromium-based).
How long does a screenshot take?⌄
Typically 5-15 seconds depending on page complexity and network speed. The tool waits for 'networkidle' so ads, fonts, and lazy-loaded images have time to render.
Can I screenshot a page that requires login?⌄
No — the headless browser opens the page without any cookies or session state. Only publicly accessible pages can be captured.
What is the maximum viewport size?⌄
Width is capped at 2560px and height at 4096px for safety. The three device presets cover the most common use cases.
Does full-page capture work on infinite scroll pages?⌄
It captures content that is rendered on initial load and networkidle. Infinite scroll content that requires user interaction will not be included.
Can I screenshot localhost or private IP pages?⌄
No — private IP ranges and localhost are blocked to prevent SSRF attacks. Only publicly routable URLs are accepted.
Glossary
- Headless Chromium
- Google Chrome's rendering engine running without a visible UI window, used here on the server to render pages and capture pixels programmatically.
- Playwright
- Microsoft's browser automation library that drives Chromium, Firefox, and WebKit headlessly with a unified API; the primary engine for this tool.
- Puppeteer
- Google's earlier browser automation library, also driving headless Chromium; used as a fallback when Playwright is unavailable.
- Viewport
- The visible browser window dimensions in CSS pixels; the screenshot's width and height when full-page mode is off.
- Full-page capture
- A screenshot of the entire scrollable page from top to bottom, achieved by virtually scrolling and stitching slices together.
- networkidle
- A Playwright/Puppeteer wait condition that resolves when there have been no network connections for 500 ms — ensures async content finishes loading before capture.
- PNG (Portable Network Graphics)
- A lossless raster format ideal for screenshots with sharp text, UI elements, and solid colours; larger files than JPG.
- JPG (JPEG)
- A lossy raster format that compresses photos and gradients efficiently but introduces artifacts in text-heavy screenshots.
- Device pixel ratio (DPR)
- The ratio of physical to CSS pixels — Retina displays have DPR 2 or 3. The default capture uses DPR 1 unless otherwise configured.