All posts

How to Share a Quarto or R Markdown Report as a Link

How to share a Quarto or R Markdown report as a link: render it to one file, upload it, and keep it private for clients, which RPubs cannot do.

October 28, 2026 · 3 min read

When people want to share a Quarto or R Markdown report as a link, most of them reach for RPubs. For anything a client is paying for, that is the wrong place, because everything on RPubs is public.

The other usual options each fall down somewhere. Posit Connect does access control properly, and it is an enterprise product. GitHub Pages means a repo and a build step for one document. SharePoint tends to eat the navigation and the images.

I built ShareMyPage, so I'm not neutral here. This is how I'd send a report, and where I'd send it somewhere else.

Render to one self-contained file first

Whatever you share it with, do this. Quarto, in your YAML header:

format:
  html:
    embed-resources: true

R Markdown:

output:
  html_document:
    self_contained: true

Both fold the CSS, the JavaScript and the figures into a single .html. Without it the report comes with a sidecar _files/ folder, and the moment the document travels on its own the plots disappear.

  1. Render with resources embedded.
  2. Open ShareMyPage, create a new page, and upload the HTML.
  3. Choose who can see it, then send the link.

Re-render next month and replace the page, and the link stays the same. Nobody has to be told to use the new one.

A report shared on ShareMyPageOpen full page ↗

Interactive output survives. A leaflet map, a DT table or a plotly chart carries its own JavaScript inside the file, and the page runs it in a sandbox.

Two real limits. The sandbox gives the report no cookies and no local storage, so a widget that depends on either will not remember anything. And embedding everything makes the file bigger: the free plan takes pages up to 2 MB, the paid plans up to 10 MB.

Put client reports behind a password

Most reports worth sending are not public. This is the gap in the usual list.

  • Password protected, for a client deliverable where the recipient should not need an account of any kind.
  • Workspace, for internal analysis that colleagues see and nobody else does.
  • Public, when you actually want it found and cited.

An HTML attachment is awkward on a phone, gets flagged by some mail filters, and becomes a copy with no version the moment it leaves. A link opens on anything and points at the current render. For a recurring report, one URL in a calendar invite beats twelve attachments in a thread.

Use something else when

  • your organisation already runs Posit Connect. Use what IT already approved.
  • the report is meant to be public and you're happy with that. RPubs is free.

The short version

  • Embed resources, always.
  • Use a password for clients and the workspace for colleagues.
  • Replace the page when you re-render, so the link never changes.

If the report goes to a client, see password-protecting a shared page. If it is a deliverable rather than a document, sending a proposal as a web page covers the same ground.

One tip I'd give anyone: put the link in the calendar invite for the meeting where the report gets discussed. Then nobody arrives with last month's version. To try it, create a page on ShareMyPage and upload the rendered HTML.

Publish your own page in about a minute.
Drop in HTML or Markdown from any AI, decide who can open it, and share one link. Free plan, no credit card.