The comment layer for AI-generated HTML

Your coding agent writes HTML. Comment on it like Notion or Google Docs.

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:

Implementation plans Specs & RFCs ADRs & architecture docs PRDs & product specs API & technical docs Design docs Research reports Study material & courses Dashboards & BI Blog posts & articles Internal tools …or any web page

The shift

Docs moved to HTML. The comment layer didn't follow.

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.

01 · Activate

Install once, pick a workspace

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.

02 · Anchor

Highlight a line, leave a comment

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.

03 · Notify

Pull the right people back

@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

The review workflow you know from Notion and Google Docs — on any page

Core commenting is open to everyone, not gated behind an Enterprise plan.

Anchored threads

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.

@mentions & email invites

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.

My Inbox

Mentions, new replies, threads you're in, unread — an inbox for comments, not a task tracker. Never crosses a workspace boundary.

History & search

Find past page discussions and jump back to the original anchor. Full-text search across the workspace, honoring URL-privacy rules.

Resolve to close the loop

Resolve a thread when it's handled. Open / unread / resolved states stay clear; resolved threads move to History instead of cluttering the sidebar.

Notifications that reach people

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

Not "who commented on this URL,"
but "what does my workspace see on this URL."

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.

An active workspace is required

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.

Mentions & invites stay inside

@ searches only the current workspace, and @email creates an invite only to that workspace. Invite growth can't route around your member boundary.

Server-owned data plane

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.

Enterprise governance scopes use

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

Built for teams reviewing what their agents generate

Agent output

Plan & spec review from Claude Code / Codex

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.

Decisions

ADRs & architecture docs

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.

Cross-functional

PRD, design & QA walkthroughs

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.

Anything in a tab

Dashboards & internal tools

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

Free to start, priced as your team grows

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.

FREE
For a small team proving out the loop.
$0 / forever
  • One small workspace
  • Core anchored comments & @mentions
  • Browser notifications & My Inbox
  • Free for your starting team
Get started
Most popular
TEAM
Bigger collaboration, longer history, admin.
Per seat · in private beta
  • Multiple, larger workspaces
  • Longer history + workspace search
  • Team admin console
  • Basic export & policy controls
Request early access
ENTERPRISE
The same commenting — under SSO, audit, and policy.
Custom
  • SSO / SAML / OIDC + SCIM directory
  • Audit logs · retention / export controls
  • Slack / Teams / Feishu + issue-tracker integrations
  • Managed extension distribution · data residency
Contact sales

FAQ

Questions

Does it work on output from Claude Code, Codex, and other agents?

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.

Is Margin a website comment plugin?

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.

I'm in several workspaces. How do I avoid posting to the wrong one?

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.

Is @mentioning an external email a public share link?

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.

Is Enterprise just "more commenting features"?

No. Comments, @mentions, and browser notifications are core. Enterprise adds SSO/SCIM, audit, site policy, Slack/Teams integrations, data retention, and deployment controls.

Turn the HTML your agent writes into a review room

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
No credit card · The page author never changes a line of code