The comment layer for AI-generated HTML
Claude Code, Codex, and the rest now ship your plans, specs, and reports straight to HTML — not Notion, not a Google Doc. Margin is a browser extension that drops inline, anchored comments onto any of those pages. Highlight a line, @mention a teammate, resolve the thread. Zero changes to the page.
Works on any page in your browser — even pages you don't own. Nothing to add to the page itself.
Made for the HTML your coding agent ships — and it works on literally any page in your browser:
The shift
Notion and Google Docs made review effortless — inline comments, mentions, resolve. But your coding agent doesn't hand you a Notion doc; it hands you plan.html. So feedback scatters back into Slack threads and screenshots, detached from the exact line it's about. Margin puts the comment layer back — in the browser, on the HTML itself. Three steps.
A teammate installs the extension and selects a workspace. Any URL they open — a local file, a preview deploy, an internal host — instantly becomes commentable.
Select text to anchor a thread. We store the page identity, anchor, quote, and replies — scoped to the workspace. If the agent regenerates the page, comments re-anchor; failures stay visible, never silently dropped.
@mention a member to ping them directly, or @mention an email address to send a workspace invite. Browser notifications work out of the box — Enterprise adds Slack, Teams, and more.
What you get
Core commenting is open to everyone, not gated behind an Enterprise plan.
Comments stick to the exact line and float beside it. Click a highlight, a margin marker, or a card — all three light up together, so context never gets lost.
Autocomplete searches your current workspace only. Mentioning an email address isn't a public link — it creates a pending invite, visible to that person only after they join.
Mentions, new replies, threads you're in, unread — an inbox for comments, not a task tracker. Never crosses a workspace boundary.
Find past page discussions and jump back to the original anchor. Full-text search across the workspace, honoring URL-privacy rules.
Resolve a thread when it's handled. Open / unread / resolved states stay clear; resolved threads move to History instead of cluttering the sidebar.
Browser notifications and Web Push by default. Enterprise wires per-workspace Slack, Teams, and Feishu to pull the right people straight back to the page.
Workspace is the boundary
The workspace is the only visibility boundary. The same URL in two workspaces is two completely separate sets of threads, highlights, states, and notifications — a URL is never an implicit key for sharing data across teams.
Multi-workspace users must explicitly choose before their first comment on a domain — so client A's feedback never lands in client B's space or a personal one.
@ searches only the current workspace, and @email creates an invite only to that workspace. Invite growth can't route around your member boundary.
Clients write through REST only; integration secrets live server-side. Data is isolated by workspace id with row-level security, and page-derived text is escaped on render.
Admins can control whether a workspace may use Margin on a given domain, with SSO/SCIM, audit logs, and retention. Governance limits scope — it never changes who can see what.
Where it fits
Implementation plans, specs, and RFCs land as HTML — exactly what needs line-by-line review, without bolting a comment SDK onto your build. Margin holds only the discussion and resolve state.
Debate a decision next to the paragraph that proposes it, then resolve. Link out to a Jira / Linear / GitHub issue — but the issue lifecycle stays in your tracker, not in Margin.
PM, design, and eng comment on the same page position; resolve when handled. Chat tools can only capture a screenshot — they can't capture where on the page it lives.
Point at "this is wrong" on a BI dashboard, an admin panel, or a competitor's page — surfaces you'll never get to integrate. The underlying system's auth stays its own; Margin never scrapes server content.
Pricing
Comments, @mentions, and browser notifications are free forever. Pay by seat as you add people, history, and search — move to Enterprise when IT needs SSO, audit, and deployment controls.
FAQ
Yes. Margin works on any HTML page your browser can open — a file:// the agent wrote locally, a preview deploy, or a page served from your repo. The page never needs Margin-specific code, so it doesn't matter which agent or generator produced it.
No. A comment plugin requires the page owner to integrate code. Margin's entry point is a browser extension — the author changes nothing. Even pages your own workspace owns get commenting through the extension.
The extension always shows the active workspace, and forces an explicit choice before your first comment on a domain. It can remember your last choice but never hides the workspace selector.
No. @email creates a workspace invite; the person can only see the discussion after they join the workspace. Invites don't route around the member boundary.
No. Comments, @mentions, and browser notifications are core. Enterprise adds SSO/SCIM, audit, site policy, Slack/Teams integrations, data retention, and deployment controls.
Install the extension, create a workspace, and start with one page. Run the full loop — comment → @mention → notify → resolve — in minutes.
Add to Chrome — free