CLI TOOL
Screenshot Any Website From Your Terminal
One command to capture any URL. Full-page screenshots, dark mode, custom viewports, and more. Works great in CI/CD pipelines for visual regression testing.
Install
Run directly (no install needed)
npx framesnap https://example.com -o screenshot.png
Or install globally
npm install -g framesnap
Set your API key
framesnap config set api-key fs_your_key
Usage
Basic screenshot
framesnap https://stripe.com -o stripe.png
Full page, dark mode
framesnap https://mysite.com --full-page --dark-mode -o full.png
Mobile viewport
framesnap https://mysite.com -w 390 -h 844 -o mobile.png
Retina, block ads, JPEG format
framesnap https://news-site.com --scale 2 --block-ads -f jpeg -q 90 -o clean.jpg
Options
| Flag | Description |
|---|---|
| -o, --output | Output file path |
| -w, --width | Viewport width (default 1280) |
| -h, --height | Viewport height (default 800) |
| --full-page | Capture entire scrollable page |
| -f, --format | Output format: png, jpeg, pdf |
| -q, --quality | JPEG quality (1-100) |
| --dark-mode | Use dark color scheme |
| --delay | Wait ms before capture (0-5000) |
| --scale | Device scale factor (0.5-3.0) |
| --block-ads | Block ad networks and trackers |
| --json | Output JSON to stdout |
| --api-key | API key (overrides env/config) |
CI/CD Integration
Add visual regression screenshots to your GitHub Actions workflow:
.github/workflows/screenshots.yml
- name: Capture screenshots
env:
FRAMESNAP_API_KEY: ${{ secrets.FRAMESNAP_API_KEY }}
run: |
npx framesnap https://staging.myapp.com -o screenshots/home.png
npx framesnap https://staging.myapp.com/pricing -o screenshots/pricing.png --full-page
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: screenshots
path: screenshots/
Get Started Free
100 free screenshots per month. No credit card required.