Docs
Get started with FeedWix
There are three ways to collect feedback with FeedWix, depending on whether you can install anything on the site you're reviewing.
1. Script-tag widget
Paste one snippet on a site you control. A feedback pill appears on every page.
Learn more →2. Capture by URL
Paste any page's URL into a Review board — FeedWix screenshots it for you, no install needed.
Learn more →3. Chrome extension
Drop the widget onto any site you're browsing, even ones you don't control.
Learn more →Method 1
Script-tag widget
Paste this snippet just before the closing </body> tag on any site — plain HTML, Next.js, WordPress, Webflow, anything that renders a page. There are no other install steps.
<script async src="https://feedwix.outshade.com/widget.js" data-feedwix="YOUR_PROJECT_KEY"></script>The script is tiny and loads lazily: reporters see a floating feedback button, and the screenshot and annotation code only downloads when someone actually opens it. The widget renders inside a Shadow DOM, so your site's CSS can't break it and its styles never leak onto your page.
Get your project key
Open your project in the dashboard and go to Project → Install. You'll find the ready-to-paste snippet with your key already filled in — replace YOUR_PROJECT_KEY above with it. The key only identifies which project feedback belongs to; it's designed to be public, so shipping it in your HTML is safe.
Domain allowlist
FeedWix only accepts submissions from domains you've allowlisted. Add your production and staging domains in Project → Install — requests from any other origin are rejected, so nobody can spam your inbox by copying your key onto another site.
What gets captured
Alongside the reporter's description, every widget submission automatically includes:
- Annotated screenshot
- Rendered in the reporter's browser via DOM rasterization — no external screenshot service ever sees your page.
- Page URL
- The exact page the reporter was on when they submitted.
- Browser & OS
- Browser name and version plus operating system, so you can reproduce reliably.
- Viewport & screen size
- Both the window size and the physical screen size — layout bugs love this.
- Recent console errors
- The last few JavaScript console errors (capped at 10), attached automatically.
If screenshot capture fails — for example, cross-origin images taint the canvas — the submission still goes through without it, and the failure is noted in the metadata.
Reporter privacy
The widget captures nothing until the reporter presses submit — no session recording, no keystroke logging, no tracking cookies on your site. Name and email are optional fields the reporter fills in themselves, and the screenshot is rendered entirely in their browser. Tell your users what's collected; this section is a good starting point.
Review projects: images & video
Not everything you ship is a website. For creatives and cut-downs, create a review project instead:
- Upload your assets — PNG, JPG, WebP, GIF and SVG images, or MP4 and WebM video.
- Copy the share link and send it to teammates or clients. Guests comment straight from the link — no account needed.
- Reviewers click the exact pixel to pin a comment on images, or drop comments anchored to timestamps on video. Everything lands in your inbox with statuses and assignees.
Method 2
Capture by URL
Don't have install access to a site — or just want to review the live page right now? Paste its URL into a Review board and FeedWix renders a full-page screenshot server-side, no widget or code changes required. The capture lands as a review asset alongside anything you've uploaded, ready for the same pinned-comment annotation described above.
Find it on a project's Review tab, next to the upload zone.
Method 3
Chrome extension
Ideal for reviewing sites you don't control — competitor sites, a client's staging environment, anywhere you can browse but can't install a script tag. The extension injects the same widget on any page with one click; it's not yet on the Chrome Web Store, so install it unpacked:
- Clone the FeedWix repo and build the extension:
node scripts/build-extension.mjsproduces a ready-to-loadextension/dist/folder. Source lives at github.com/GuttaManish/Feedwix/tree/main/extension. - Open
chrome://extensions, enable Developer mode, then click Load unpacked and selectextension/dist. - Click the FeedWix toolbar icon once to open its settings, paste your App URL and project widget key (the same key from the snippet above), and save.
- Click the icon again on any page you want feedback on — the widget pill appears immediately, with the same annotation and screenshot flow as the script-tag install.
Webhooks
On Pro and Team plans, FeedWix can POST new feedback to any endpoint you register in workspace settings. Each delivery is signed with HMAC-SHA256 over the raw request body using your webhook secret, and the hex digest is sent in the X-FeedWix-Signature header. Always verify it before trusting a payload:
import crypto from "node:crypto";
// rawBody: the exact request body string, before any JSON parsing
const expected = crypto
.createHmac("sha256", process.env.FEEDWIX_WEBHOOK_SECRET)
.update(rawBody)
.digest("hex");
const received = request.headers.get("X-FeedWix-Signature");
const valid =
received !== null &&
crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(received));Compute the HMAC over the raw body exactly as received — parsing and re-serializing JSON first will change the bytes and the check will fail.
Ready to try it on your site?
Create a project, grab your key, paste the snippet — feedback starts landing in your inbox.