One script tag. No SDK to wire up.
Bug reports your team can actually fix
SupportShot adds a report button to your website. Your visitor describes the problem and marks up a screenshot of exactly what they saw — and the report arrives with the browser console log, the failed network requests, the page URL, and the browser, OS, and screen size already attached.
Free plan: 1 project, 50 tickets a month, no credit card. Installs in about a minute.
What you get
Everything a developer asks for, in the first message
Most bug reports die in the back-and-forth: which page, which browser, what did the console say. SupportShot collects all of it at the moment the visitor hits send.
Screenshot and annotate
The widget captures what the visitor actually sees — their scroll position, their data, their broken layout — and hands them a pen, arrow, box, and text tool to circle the problem. You get the marked-up image and the untouched original.
- Renders the live page, not a video recording
- Pen, arrow, rectangle, text, five colors, undo
- If capture fails, the report still sends
Full context, automatically
Every ticket carries the diagnostics you would otherwise ask for over three emails: the last 200 console entries, JavaScript errors with stack traces, failed network requests, and the exact page and browser.
- Console log, JS errors, unhandled rejections
- Failed requests: method, URL, status, duration
- Page URL and title, browser, OS, viewport, DPR, timezone, locale
Straight to your inbox
Reports are emailed to whoever should see them — support, the on-call engineer, the agency that built the site — with the screenshot inline. No new tool for your team to check, and no account required to receive them.
- Multiple recipients per project, no seats to buy
- Every ticket also stored in your SupportShot inbox
- Failed sends retried automatically and shown on the ticket
How it works
Three steps, about a minute
No build step, no npm install, no framework plugin. If you can paste a script tag into your site, you are done.
- 1
Create a project and copy your snippet
Sign up, name your project, and SupportShot gives you a public key and the tag below. Restrict the key to your own domains so nobody else can send you tickets.
- 2
Paste the tag into your site
Drop it before
</body>on every page you want covered. It loads asynchronously, mounts inside a shadow root so your CSS and ours can never collide, and does nothing at all until someone clicks it. - 3
Add the people who should get reports
List the email addresses for the project. When a visitor sends a report you get the email; the ticket is waiting in your dashboard with the screenshot, console, and network log.
<script
src="https://supportshot.com/widget.js"
data-project="ss_pk_your_project_key"
async
></script>Using React, Next.js, Vue, or Rails? The same tag works everywhere — the docs show the next/script version, how to attach the logged-in user with SupportShot.identify(), and how to open the widget from your own “Report a problem” link.
Built to be safe on your site
Careful with your page, careful with your visitors
A support widget sits on every page of your site. It has to be boring, quiet, and honest about what it collects.
- The widget never captures request or response bodies, headers, cookies, or keystrokes.
- It mounts in a shadow root and adds one global, SupportShot. Your styles and scripts are untouched.
- If anything inside the widget fails, it disables itself quietly — it will not take your page down.
- Screenshots are rendered from the page in the visitor's browser. Nothing is streamed or recorded in the background.
- Over-limit tickets are never dropped. We flag them and ask you to upgrade.
Stop asking “can you send a screenshot?”
Install SupportShot on one site for free, keep it forever, and upgrade only when the reports start piling up.