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.
One script tag. Plans from $19 a month.
From "it's broken" to fixed
You paste one script tag. The rest runs itself.
-
A user hits a bug
The Pay button spins forever.
-
They tap the ladybug
A marked-up screenshot, one send.
-
It lands in your inbox
With the console, requests and clicks.
-
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
- 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.
Priced on reports, never on seats
Invite the whole team on every plan. See what each plan includes.
Starter
$19
per month
- 500 reports a month
- 90 day retention
- 3 projects
- Unlimited teammates
- Slack, GitHub, Linear and webhooks
Team
$79
per month
- 2,500 reports a month
- 1 year retention
- 25 projects
- Unlimited teammates
- Hide the Powered by Smushbug badge
Business
$149
per month
- 10,000 reports a month
- 10 year retention
- 200 projects
- Unlimited teammates
- Hide the Powered by Smushbug badge
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