Smushbug

Bug reporting for web apps

Bug reports that come with the answer.

Smushbug is a screenshot bug reporter for web apps. Your users snap the problem and scribble on it. You get the picture plus the console errors, failed requests and clicks that led there, grouped so each bug shows up once.

Get started

One script tag. Plans from $19 a month.

From "it's broken" to fixed

You paste one script tag. The rest runs itself.

  1. A user hits a bug

    The Pay button spins forever.

  2. They tap the ladybug

    A marked-up screenshot, one send.

  3. It lands in your inbox

    With the console, requests and clicks.

  4. Your agent fixes it

    It reads the report over MCP, fixes the code and marks it resolved.

Peek inside your inbox

Each bug shows up once, with a counter. Screenshots people upload themselves stay blurred until you open the issue.

Then hand it to your agent. It reads the report, finds the cause and leaves a note you can read on the issue. How agents connect

Every report arrives ready to fix

The screenshot shows what it looked like. The rest shows why. Recording starts when the page loads, so the error from thirty seconds ago is already there.

A screenshot they can mark up

Captured in the browser the moment they click. Box, arrow and a Hide tool that pixelates for good.

Console errors

The last 30 errors and warnings, including crashes and rejected promises from before they clicked.

Failed requests

Method, path, status and timing for anything that came back 4xx, 5xx or never came back. Never bodies.

The click trail

The last 40 clicks, fields used, Enter and Escape presses and page changes. Fields are named by label, never by what was typed.

Browser and device

Browser, OS, viewport, pixel ratio, timezone, language, connection and colour scheme.

Your own context

Call identify() and setContext() to attach the user id, plan or feature flags to every report.

Hand it to your AI agent

Connect Claude Code, Cursor or any MCP client with one command. It reads the screenshot, console and clicks, investigates, leaves a note and can mark the bug resolved. See how it connects

Fifty people, one issue

Reports are grouped by what actually broke, not by the words people typed. When a crash hits fifty users you get one issue with a counter. Resolve it and it stays resolved until the bug comes back, then it reopens itself.

Private by default

Email ana@shop.com Card number 4242 4242 4242 Password hunter2hunter2
  • Text inputs, textareas and selects are blurred in the screenshot
  • Password fields are always blurred, whatever the settings say
  • Query strings are stripped from the addresses of failed requests
  • Request and response bodies and headers are never recorded
  • Hide pixelates for good: the original pixels are destroyed before sending
  • The widget itself sets no cookies and loads nothing from third parties

Built for the apps you already run

One account, a project per app. Each project has its own key, its own list of allowed domains and its own destinations.

Slack GitHub Issues Linear Any webhook React Next.js Vue Plain HTML

Priced on reports, never on seats

Invite the whole team on every plan. See what each plan includes.

Most picked

Starter

$19

per month

  • 500 reports a month
  • 90 day retention
  • 3 projects
  • Unlimited teammates
  • Slack, GitHub, Linear and webhooks
Start with Starter

Team

$79

per month

  • 2,500 reports a month
  • 1 year retention
  • 25 projects
  • Unlimited teammates
  • Hide the Powered by Smushbug badge
Start with Team

Business

$149

per month

  • 10,000 reports a month
  • 10 year retention
  • 200 projects
  • Unlimited teammates
  • Hide the Powered by Smushbug badge
Start with Business

Questions

What does Smushbug collect?

The annotated screenshot, what the person typed into the report, the page address and title, browser and device details, recent console errors, failed request addresses and the click trail. It never records request bodies, headers, cookies or what anyone typed into your page.

Will it slow my site down?

No. The script is about 28 KB gzipped, loads with defer, makes one small settings request when the page loads and sends nothing else until someone submits a report, and never downloads fonts or third party code into your page.

Does it work with React, Vue, Next.js or my stack?

Yes. It is one script tag that works on any page with a body element.

Does it work on phones?

Yes. On small screens the reporter opens as a bottom sheet, and people can attach a screenshot they took themselves with Upload.

Where do reports go?

Every report lands in your Smushbug inbox, grouped with identical reports. Each project can also forward to Slack, GitHub Issues, Linear or any webhook you run.

Can my AI agent fix these bugs?

Yes. Connect Claude Code, Cursor or any MCP client and your agent can read each issue with its screenshot, console errors and clicks, find the cause and fix it in your repo, then leave a note and mark the bug resolved. You pick read only or read and write when you connect it, so you decide how much it can touch. See how to connect an agent

What happens if I go over my plan?

Paid plans keep collecting past the included volume, up to 1.5 times it. After that, new reports are turned away until the next month starts or you move up a plan.

What if someone spams my report button?

Each address can send 10 reports a minute, and one that sends a project 30 in an hour is blocked automatically. Mark anything else as spam and it is deleted, the sender is blocked, and it stops counting toward your monthly reports.

Can I use it on all my apps?

Yes. Create a project per site or app. Each gets its own key, its own list of allowed domains and its own destinations, and they all share one inbox.

Catch your next bug with the evidence attached.

Set up in about two minutes. Plans from $19 a month.

Get started