Unlimited reports · One line of script

Your visitors see the bugs.
Let them point at one.

The widget puts a report button on your own pages. Your visitor points at the broken element, adds a note, and sends — no account, no install, and they never leave the page.

Your brand & wordingTurn it off anytimeVerified domains only

This is a demo — no report is sent from here. The real widget is in the corner of this page. Try it.

What it does

Everything a report needs, without asking the visitor for any of it.

The widget collects the element, the screenshot and the browser details on its own, so the person reporting only has to say what looks wrong.

A button on every page

One script tag puts a Feedback launcher in the corner you choose.

They point at the problem

Point mode records the exact element, not just "somewhere on this page".

The screenshot is automatic

The widget captures the page for them.

No account, no install

The visitor sends the report and carries on.

Context comes attached

Page URL, browser, and viewport arrive with every report.

Bots filtered on our origin

The security check runs inside a frame on our own widget domain, so no captcha and no Cloudflare edit on your own domain.

Set up in two minutes

Three steps, one of which is a copy and paste.

Nothing to install and nothing to build. The snippet never changes again — placement, width and wording are all settings.

01

Claim your domain

Verify you control the host. Reports go to the owner who proved it.

02

Turn the widget on

One switch in that domain's widget settings. No deploy.

03

Paste one line

Drop the snippet below before the closing body tag on every page.

Snippet

<script src="https://widget.webmend.app/v1/init.js"
        async
        data-webmend-key="<your-widget-key>"></script>

Your design, your button

Open it from your own button.

Turn our launcher off and nothing is added to your page until someone opens the form. Put the trigger in your nav, your footer, or your help menu — wherever it belongs. Free on every plan.

JavaScript API

window.webmend?.open(); // open the panel
window.webmend?.close(); // close it
await window.webmend?.ready; // true = live, false = switched off

Good to know

The details worth reading before you paste anything.

Nothing here is a surprise later — the limits, the switches, and what the capture does and does not include.

Free on every plan

Placement, width and every piece of wording. Plus adds your own accent colour and removes "Powered by WebMend".

Verified domains only

Reports go to the owner who proved they control the host.

Built-in abuse limits

A visitor can't flood the form — each one is capped per hour, and so is each domain overall. No setup needed.

Turning it off needs no edit

The script tag stays and renders nothing. The key is never regenerated, so switching back on is one switch.

Settings reach live sites in about a minute

Placement and width change without touching the snippet.

It is a page capture, not a screenshot

It is a page capture, not a pixel-perfect screenshot. The full list of what a capture can and cannot do is on the setup page once your domain is verified.

Form values never leave the page

Those, and anything you mark data-webmend-mask, are stripped before the image is built.

It needs frames allowed

The widget cannot run on a site that blocks them (frame-src 'none', or default-src 'self' with no frame-src).

FAQ

Questions about the widget.

One small async script. The form itself only loads when a visitor clicks the button.

No. No account, no extension, nothing to install.

Yes. One switch in the dashboard. The script tag can stay where it is and the key is kept, so turning it back on needs no edit.

The widget's settings page lists the exact directives to add, next to the snippet, once the domain is verified.