Visual uptime monitoring

Your monitor says OK.
Your users see a blank page.

HTTP 200 doesn't mean your page is working. GrabDiff screenshots your URLs on a schedule with headless Chrome, diffs them pixel-by-pixel, and fires an alert the moment something looks wrong. You know before any user does.

No credit card ยท Free plan stays free

grabdiff.com/monitors/42
changed checkout.acme.com 2 min ago
Baseline
Checkout
Latest 4.2% diff
DIFF DETECTED
Visual change detected
checkout.acme.com · 4.2% diff · alert sent to [email protected]

What HTTP 200 won't catch

Silent failures your uptime
monitor is missing right now

An HTTP ping checks whether the server responded. It can't see what's on the screen. These failures slip through every time.

JS bundle fails silently
Server returns 200. Page is blank. Your monitor never notices. Your users can't do anything.
CDN serving a cached error
Last week's broken deploy is still being served from edge nodes. HTTP status: 200.
Checkout button disappeared
React re-render bug, bad A/B test deploy, broken CSS. The button is just gone. Status: 200.
SSL expired on a subdomain
Not one you remember to check. Cert expires on a Sunday. Users see a red browser warning.

How it works

Set up in two minutes

Add a URL, pick a check interval, and GrabDiff handles the rest: screenshots, diffs, and alerts.

01
Add a URL
Paste the URL you want to watch. GrabDiff captures a baseline screenshot with headless Chrome at 1280×900 within the first minute.
02
We screenshot on a schedule
Every N minutes, a fresh screenshot is taken and diffed pixel-by-pixel against your baseline. The threshold is tunable per monitor, so noisy pages don't spam you.
03
Alert before users notice
When the visual diff score crosses your threshold, you get an email with the diff image attached. Before any user has a chance to report it.

What GrabDiff monitors

Four ways a page can fail.
One tool that catches all of them.

Most outages aren't "server down." They're "page looks wrong." GrabDiff watches for all four failure modes.

Screenshot diff monitoring
Headless Chrome screenshots on your schedule. Pixel-by-pixel diff against a known-good baseline. Alert threshold tunable per monitor. You get the diff image in the alert email.
SSL certificate expiry
Full-chain TLS validation. Alerts at 30, 14, 7, and 1 day before expiry. Catches the subdomain you forgot to add to your main cert renewal.
Domain expiry
WHOIS checks for 90+ TLDs. Alerts at 30, 14, 7, and 1 day before your domain lapses. Never accidentally lose a domain because auto-renew was turned off.
Cron heartbeats
One ping URL per scheduled job. Your task hits the URL when it finishes; GrabDiff alerts when it stops checking in. Dead nightly jobs are silent until morning. Not with GrabDiff.

Pricing

Simple, honest pricing

Start free. Upgrade when you need more monitors or a tighter check interval. Every paid plan includes a 14-day Pro trial. No credit card required to start.

Free
$0
  • 3 monitors
  • 30-min screenshot interval
  • 14-day history
  • Email alerts
Get started free
Pro
$19/mo
  • 50 monitors
  • 1-min screenshot interval
  • 1-year history
  • Email + webhook alerts
Start 14-day trial

Annual plan saves two months. No credit card required to start.

"I built GrabDiff because I kept getting 'everything is fine' from my uptime monitor while users were looking at a white screen. Turns out HTTP 200 doesn't mean the page is working. I've been running servers for over a decade and this kept biting me. Now I check the pixels."

SR
Sam R.
Maker of GrabDiff

Catch the next silent failure
before your users do.

Set up in two minutes. First screenshot in under a minute.

Start free, 14-day trial

No credit card · 3 monitors free forever