Catch Visual Bugs Before Your Users Do
Capture screenshots of your app across viewports and compare against baselines. Detect layout shifts, missing elements, and style regressions automatically.
The Problem
Visual bugs slip through code review and unit tests. A CSS change that looks fine on desktop might break mobile. Testing every page across viewports manually is impossible at scale.
The Solution
Rendex captures screenshots from any URL or staging environment across custom viewports. Build a visual regression testing pipeline: capture baselines, compare against new deployments, and flag visual differences — all via API.
See it in action


Get Started in Minutes
from rendex import Rendex
from pathlib import Path
rendex = Rendex("YOUR_API_KEY")
viewports = [
{"width": 1440, "height": 900, "name": "desktop"},
{"width": 768, "height": 1024, "name": "tablet"},
{"width": 375, "height": 812, "name": "mobile"},
]
for vp in viewports:
result = rendex.screenshot(
url="https://staging.myapp.com",
width=vp["width"],
height=vp["height"],
full_page=True,
)
Path(f"baseline-{vp['name']}.png").write_bytes(result.image)import { Rendex } from "rendex"
import { readFileSync, writeFileSync } from "node:fs"
import { PNG } from "pngjs"
import pixelmatch from "pixelmatch"
const rendex = new Rendex("YOUR_API_KEY")
// Capture the current deploy, then diff it against the stored baseline.
const { image } = await rendex.screenshot({
url: "https://staging.myapp.com",
width: 1440,
height: 900,
fullPage: true,
})
const current = PNG.sync.read(Buffer.from(image))
const baseline = PNG.sync.read(readFileSync("baseline-desktop.png"))
const { width, height } = baseline
const diff = new PNG({ width, height })
const changed = pixelmatch(
baseline.data, current.data, diff.data, width, height,
{ threshold: 0.1 },
)
writeFileSync("diff-desktop.png", PNG.sync.write(diff))
if (changed > 0) {
console.error(`Visual regression: ${changed} pixels changed`)
process.exit(1) // fail the CI job
}100 free API calls/month — no credit card required. Get your API key and start building.
Built for This Use Case
Custom Viewports
Test across any viewport from 320px to 3840px. Retina support up to 3x.
Batch Capture
Capture all pages and viewports in a single batch request.
Dark Mode Testing
Capture both light and dark modes to test theme switching.
Start Free, Scale as You Grow
100 calls/month free. Starter at $69/mo for 10K calls (or $58/mo billed annually — 2 months free). Pro at $179/mo for 100K calls.