A simple web screenshot service. Enter a URL, get a PNG in multiple formats.
Built with Puppeteer. Live at click.grj.se.
| Page | Size | Description |
|---|---|---|
/ |
1280×800 | Desktop |
/mobile |
390×844 | iPhone with device frame |
/tablet |
820×1180 | iPad with device frame |
/big |
1720×1410 | Large desktop |
/full |
1280×auto | Full page (entire scrollable height) |
/all |
All of the above | Downloads as ZIP |
- Web UI — paste a URL, preview the screenshot, download it
- Bookmarklets — each variant has a drag-and-drop bookmarklet for one-click screenshots
- API —
GET /shot?url=https://example.comreturns a PNG (add&dlto trigger download) - Popup dismissal — automatically closes modals and cookie banners
- Canvas-aware — skips overlay removal on pages with
<canvas>elements (maps, WebGL) - Device frames — mobile and tablet screenshots are wrapped in realistic device mockups
GET /shot?url=<url> → Desktop PNG
GET /shot/mobile?url=<url> → iPhone PNG with device frame
GET /shot/tablet?url=<url> → iPad PNG with device frame
GET /shot/big?url=<url> → Large desktop PNG
GET /shot/full?url=<url> → Full page PNG
GET /shot/all?url=<url> → ZIP with all variants
Add &dl to any endpoint to trigger a download header.
npm install
node server.jsThe server starts on port 3131.