Quick Start Guide
Vizzly catches visual bugs by comparing screenshots against baselines. You can upload existing screenshots or integrate directly into your test framework.

What You Need
- Node.js 22 or newer
- A Vizzly account (sign up free at vizzly.dev)
Two Ways to Authenticate
Local development: Use vizzly login for OAuth authentication. No tokens to manage.
CI/CD: Use an API token from your project settings. Pass it via VIZZLY_TOKEN environment variable.
Check the Authentication guide for details.
Method 1: Upload Screenshots
Already have screenshots? Start here.
-
Install the CLI
Terminal window npm install -g @vizzly-testing/cli -
Authenticate
Pick one:
OAuth (local work)
Terminal window vizzly loginAPI Token (CI/CD)
Terminal window export VIZZLY_TOKEN=your-api-tokenGet your API token: Project Settings → API Tokens → Create Token
-
Upload
Terminal window # Directory of screenshotsvizzly upload ./screenshots --build-name "First build"# Single imagevizzly upload homepage.png --build-name "Homepage test" -
View results
The CLI prints a URL. Open it to see your screenshots in the dashboard.
Method 2: Test Framework Integration
Capture screenshots during test runs.
-
Install and authenticate
Terminal window # Install as dev dependencynpm install -D @vizzly-testing/cli# Pick authentication methodvizzly login # OAuth# ORecho "VIZZLY_TOKEN=your-api-token" >> .env # Token (for CI) -
Add to your tests
import { vizzlyScreenshot } from '@vizzly-testing/cli/client';// Playwright, Puppeteer, etc.const screenshot = await page.screenshot();await vizzlyScreenshot('homepage', screenshot, {properties: {browser: 'chrome',viewport: '1280x800'}});Properties are optional. Use them to organize screenshots by browser, viewport, or any metadata you need.
-
Run with Vizzly
Terminal window npx vizzly run "npm test" --waitThe
--waitflag holds until comparisons finish, so you get immediate feedback. -
Review changes
The CLI prints your build URL. Open it to see what changed.
Understanding Your First Build

-
Open your build in the web UI
-
Review screenshots - Everything appears as “new” since there’s no baseline yet
-
Baseline selection - Vizzly uses Git mode by default, which automatically picks baselines based on your Git workflow
-
Next builds - Future builds from your main branch will use this build as the baseline
Next Build
Once you have a baseline, your next build shows:
- Identical - Screenshots that match the baseline
- Changed - Visual differences highlighted
- New - Screenshots not in the baseline
- Missing - Baseline screenshots not in current build
CI/CD Integration
Add visual testing to your CI pipeline:
# GitHub Actions example- name: Run visual tests run: npx vizzly run "npm test" --wait env: VIZZLY_TOKEN: ${{ secrets.VIZZLY_TOKEN }}Troubleshooting
Can’t connect to Vizzly?
- Verify your
VIZZLY_TOKENis set correctly - Run
vizzly doctor --apito test connectivity
No screenshots uploaded?
- Ensure screenshots are generated before calling
vizzlyScreenshot() - Check file paths are correct for CLI uploads
- Verify your test framework is capturing screenshots
Build not appearing?
- Builds take a few seconds to process
- Check for errors in CLI output
- Verify your API token has correct project permissions
What’s Next?
- Core Concepts - Understand builds, baselines, and workflows
- CLI Documentation - Complete CLI reference and guides
- SDK Documentation - Detailed framework integration
- Baseline Management - Configure baseline strategies
- Team Management - Set up team workflows and reviews