Works with · Staging links
Feedback on staging and preview links
Vercel, Netlify, Cloudflare Pages or your own staging server: paste the preview URL and get comments pinned to the page from clients and teammates, with no hosting account.
Free for 3 projects. Reviewers never need an account.
Why Staging links teams use HTMLAnnotate
Preview deployments are where website changes should be reviewed: every pull request gets its own URL, and the real build runs with real data. The hosts' own review tools are good for developers. Vercel Comments needs every commenter to have a Vercel account, and Netlify's Drawer asks stakeholders to log in to Netlify for its collaboration tools. Clients and marketing teams often stop at that login screen.
So feedback drifts back to screenshots and chat messages that say "on staging" without saying which deployment, page or screen size. Commit URLs change with every push, branches get merged, and a note about yesterday's build gets applied to today's. Adding clients to your hosting team, or turning protection off entirely, are both trade-offs most teams would rather avoid for a quick round of client feedback.
With HTMLAnnotate you paste the preview or staging URL and send one link. If staging sits behind a browser password box, enter the login when the import page asks; it is stored encrypted and reviewers never see it. Each comment records the page path, view, browser, OS and screen size, and Copy for AI hands developers a brief with CSS selectors to paste into Cursor or Claude.
How it works with Staging links
Three steps, about a minute.
Copy a stable URL
Use a URL that follows the branch, such as project-git-branch-team.vercel.app or deploy-preview-42--site.netlify.app, which updates with each push. Commit URLs always show one fixed build.
Add the password if needed
Staging behind a browser password box (HTTP basic auth)? Enter the login when the import page asks for it. It is stored encrypted and never shown to reviewers.
Share the review link
Reviewers open it with just a name and email. They never see the password, your hosting dashboard or your Git provider, and need no account.
A full review round, start to finish
What a typical round looks like on Staging links.
Pick the right URL
Vercel gives each commit a unique URL and each branch a URL that follows the latest push. Netlify's deploy-preview-<number> URL updates with every push to the pull request. On Cloudflare Pages, use the <branch>.<project>.pages.dev alias rather than the hash URL.
Check protection
If Vercel Authentication, Netlify team login or Cloudflare Access guards your previews, reviewers would hit a sign-in page that can't be imported yet. Use HTTP basic auth instead, such as a Basic-Auth rule in Netlify's _headers file, or open the preview for the round.
Create the link
Paste the URL into HTMLAnnotate, tick the password option if there is one, and sign in. Free links last up to 14 days and Pro links never expire, which matters for feature branches that stay open for weeks.
Review on every size
Ask reviewers to leave notes in the Desktop, Tablet and Mobile views. Each comment records browser, OS and screen size, so a layout bug reported on a phone arrives with enough detail for a developer to reproduce it.
Triage into work
Label each note Bug, Copy, Design, Question or Idea, set priority, and @mention the developer who owns that area. Copy for AI exports the open comments with CSS selectors and page paths, ready for Cursor or Claude.
Verify and approve
Push fixes to the same branch. The branch URL updates, and the review link fetches it fresh, so reviewers can check each fix, resolve their notes and press Approve before you merge the branch into production.
Hosting platforms' own tools and HTMLAnnotate
Use both. Here is what each is good at.
| What you need | Vercel, Netlify, Cloudflare Pages | HTMLAnnotate |
|---|---|---|
| Comments from clients without accounts | Vercel needs accounts; Netlify Drawer asks for login | Name and email only |
| Pinned comments on previews | Vercel Comments and the Netlify Drawer | Pinned to any element |
| Password-protected staging | Vercel Password Protection is a paid add-on | Works with browser password boxes |
| Screenshots and screen recording | Netlify Drawer records both | No automatic screenshots |
| Issue tracker sync | Netlify Drawer links Jira, GitHub, Linear and more | Copy for AI and CSV export |
What works
- Vercel, Netlify and Cloudflare Pages preview URLs
- Staging servers behind a browser password box (HTTP basic auth)
- Reviewers never see your staging password or hosting dashboard
- Every page of the staging site from one link
- Browser, OS and screen size recorded on every comment
- Copy for AI with CSS selectors for Cursor or Claude
Good to know
- Previews behind a sign-in page, such as Vercel Authentication, Netlify team login or Cloudflare Access, can't be imported yet.
- A commit URL shows one fixed build. Use a branch or deploy preview URL if you want the review link to follow new pushes.
- Forms on the reviewed copy can't be submitted, so test form handlers and emails on the preview itself.
- A local server on localhost isn't public, so deploy a preview or upload a single self-contained HTML file instead.
Tips for better Staging links reviews
Share branch URLs, not commit URLs
Vercel's <project>-git-<branch>-<scope>.vercel.app URL and Netlify's deploy-preview URL both follow the latest push. One review link then covers the whole branch instead of a single build.
Swap sign-in protection for basic auth
If previews must stay private, HTTP basic auth works with HTMLAnnotate. On Netlify Pro, a Basic-Auth line in _headers triggers the browser's login prompt; enter those details once when you create the link.
Name the branch for reviewers
Cloudflare Pages turns branch names into aliases, so fix/api becomes fix-api.<project>.pages.dev. A clear branch name such as client-review makes the URL easy for clients to recognize.
Close the loop before merging
Ask for an Approve before you merge, then switch comments off on the link. Export a CSV and attach it to the pull request if your team keeps a record of review decisions.
Questions about Staging links
Can I review a password-protected staging site?
Yes, if it uses a browser password box (HTTP basic auth). Enter the login when the import page asks for it; it is stored encrypted and reviewers never see it. Sign-in pages can't be imported yet.
Does it work with Vercel preview links?
Yes, as long as the link opens without a Vercel sign-in. If Vercel Authentication protects previews under Settings, Deployment Protection, reviewers would hit a login page, which HTMLAnnotate can't import yet.
Why not use Vercel Comments or the Netlify Drawer?
They are built for teams already on those platforms and do that job well, including screenshots and issue tracker links in Netlify's case. Vercel requires every commenter to have an account. HTMLAnnotate suits reviewers who shouldn't need a hosting login.
Will a new deploy break my review link?
Not if you use a branch URL or a deploy preview URL, which points at the latest build. A unique commit URL always shows that one build, so a new commit means creating a new review link.
Will forms send emails?
No. Forms can't be submitted from the reviewed copy, so reviewers can't trigger your form handlers, emails or webhooks. Test those on the preview directly before you merge.
Does it work on Cloudflare Pages and my own server?
Yes. Any staging URL that opens publicly, or behind a browser password box, works: pages.dev preview and branch aliases, a staging subdomain on your own server, or a preview on another host.
Other website builders
HTMLAnnotate works with any page anyone can open in a browser.