snipify
v0.1.1
Published
A CLI tool for capturing and processing web screenshots with Puppeteer and Sharp.
Maintainers
Readme
Snipify
Snipify is a CLI tool for capturing, resizing, and exporting high-quality web screenshots using Puppeteer and Sharp.
"From page to pixel-perfect screenshot—automate it all."
Features
- Full & Viewport Modes – Capture the entire page or just the visible area
- Custom Device Emulation – Desktop, mobile, tablet & more with custom user-agents
- Smart Resource Blocking – Skip heavy/irrelevant assets like analytics & media
- Image Processing with Sharp – Resize, crop, compress effortlessly
- CLI First – Focused on terminal usage without a public Node API
- No Bloat – Minimal dependencies, fast and efficient
CLI Usage
Snipify comes with a powerful CLI for quick screenshots and batch production exports right from your terminal.
Node.js 18 or newer is required.
Usage
npx snipify@latest [URL] [OPTIONS]Arguments
URLWebsite URL (default: http://example.com/)
Options
--device=DEVICEDevice preset (see list below; default:mobile)--size=SIZEProduction size preset (see table below)--productionGenerate all production sizes listed below--output=DIROutput directory (default:./screenshots)--format=FORMATOutput format:png,jpeg(default:png)--quality=VALUEJPEG quality from0to100(default:90)--delay=MSWait before capture in milliseconds (default:1000)--wait-for-selector=SELECTORWait for a CSS selector before capture--block-resourcesBlock media, analytics, tracking, and websocket requests--viewportCapture only the current viewport instead of the full page, including in production mode--help,-hShow help
Device Presets
- desktop
- laptop
- tablet
- mobile
- mobile-large
Production Sizes
| Name | Dimensions | | ----------------- | ---------- | | thumbnail | 300x200 | | card | 400x300 | | social-media | 1200x630 | | instagram-post | 1080x1080 | | instagram-story | 1080x1920 | | youtube-thumbnail | 1280x720 | | blog-header | 800x400 | | email-banner | 600x200 | | preview-small | 200x150 | | preview-medium | 400x300 | | preview-large | 800x600 |
Examples
npx snipify@latest # Basic mobile screenshot
npx snipify@latest https://example.com --device=desktop # Desktop screenshot
npx snipify@latest https://example.com --device=mobile --size=thumbnail # Mobile thumbnail
npx snipify@latest https://example.com --viewport --format=jpeg --quality=80
npx snipify@latest https://example.com --wait-for-selector=.app --delay=1500
npx snipify@latest https://example.com --block-resources --output=./shots
npx snipify@latest https://example.com --device=desktop --production # All production sizesScreenshots are saved to the output directory (default:
./screenshots).
Why Snipify?
- Production Ready – Battle-tested setup with error handling
- Fast – Puppeteer + Sharp combo for fast, clean output
- CLI Focused – Built strictly for terminal-based screenshot workflows
- Simple Distribution – Ships as a command, not a reusable runtime API
License
MIT © Toufiq Hasan Kiron
“Snip it. Sharpen it. Ship it.” – Snipify Motto
