Skip to content
R Markdown and Quarto reports, free, no signup

Share an R Markdown or Quarto HTML report as a link

Drop your knitted report as an .html file up to 10 MB or a ZIP up to 25 MB on ship.page for a free live link, no signup. R Markdown and Quarto output both work, the link stays up for 30 days, and every upload sends a noindex header so search engines stay out. Pro adds password protection for $4 a month.

Ready to ship

A file. A folder. A fresh start.

Your static site, one link away.

No account needed

Shipping…

Uploading publishes your file. The link is public but unlisted, not password-protected, so leave out secrets and confidential content.

Max size for a single self-contained HTML file
10 MB
Free ZIP limit, up to 100 MB unpacked
25 MB
Free link lifetime without an account
30 days
Pro plan with password protection and permanent links
$4/mo

How to publish your R Markdown or Quarto report

  1. Knit or render your document to HTML

    In R Markdown, html_document uses self_contained = TRUE by default, putting scripts, stylesheets, images and videos inside one standalone HTML file as data: URIs. In a Quarto report, add embed-resources: true under format: html, or keep the default output and zip the HTML file together with its report_files folder.

  2. Drop the HTML file or ZIP onto ship.page

    Open ship.page in your browser and drag in your .html file, .zip archive or folder. If you upload a folder or ZIP with multiple files, make sure the main report is named index.html so it opens at the root address.

  3. Copy the link or add a password

    Your report is live in seconds on its own HTTPS subdomain, complete with a downloadable PNG QR code. Free links stay online for 30 days, or 90 days if you claim them with a free Google or email sign-in, and Pro users can turn on password protection or re-upload to the same URL.

Ways to share an R Markdown or Quarto HTML report

OptionHow you publishWhat to know
RPubsFrom RStudio: Knit, then PublishRetires June 2027; readable through Dec 31, 2031
Quarto Pubquarto publish commandFree, public only, 100 MB limit, being replaced by Connect Cloud
ship.page freeDrag HTML, ZIP or folder in browserNo signup, unlisted with noindex, 10 MB HTML or 25 MB ZIP, 30 days
ship.page ProBrowser, curl, MCP or GitHub Action$4/mo, password protection, update in place, links never expire

Why not email the report or post it on RPubs or Quarto Pub?

When you knit an R Markdown file or render a Quarto document, interactive widgets, plots and tables work in any web browser. Yet when you email that .html file to a coworker or client, they have to download the attachment and open it themselves. Using a tool built to share an HTML file gives your reader a normal URL that opens on any device.

The free community hosts are being phased out. RPubs will retire in June 2027, though existing documents stay readable through December 31, 2031, and Posit recommends Connect Cloud for new publishing. Quarto Pub is free with a 100 MB site limit and a soft limit of 10 GB of bandwidth a month, but everything published there is public and it is also being replaced by Posit Connect Cloud.

If you want a free host for a large public site up to 100 MB, Quarto Pub is a good fit while it remains open, and Posit Connect Cloud is the direct successor for Posit users. If you need a quick link for an internal or client report without setting up an account, ship.page takes the HTML file you already knitted.

How do I keep a self-contained HTML report under the size limit?

R Markdown's html_document sets self_contained = TRUE by default, encoding your plots, CSS and JavaScript as data: URIs inside a single file. Note that MathJax is still loaded externally, so viewers need an internet connection to see formatted equations.

In Quarto, rendering to HTML puts dependencies in a report_files folder next to the HTML file by default. Adding embed-resources: true to your YAML header bundles everything into one standalone HTML file just like R Markdown.

  • Single .html files can be up to 10 MB on every ship.page plan.
  • If embedded high-resolution plots push your single HTML file past 10 MB, rename it to index.html and compress it into a .zip file.
  • Free uploads accept a ZIP up to 25 MB (100 MB unpacked) with up to 100 files.
  • Folder uploads go up as one request of at most 10 MB (roughly 7 MB of files), so bigger Quarto folders with a report_files directory should be zipped first.

Tip: When uploading a folder or ZIP instead of a single file, always name your report index.html so it loads automatically when someone opens your link.

How to share an R Markdown report privately

Every report uploaded to ship.page is served with a noindex HTTP header, and ship.page never lists uploads anywhere public. Search engines leave your page out of results, while anyone you give the link to can open it right away.

For confidential client deliverables or internal data summaries, unindexed links may not be enough. On the $4 a month Pro plan (see pricing), you can lock any report behind a password, set a custom expiration from 60 seconds to never, and re-upload a freshly knitted file to the exact same link. The same workflow also works if you export an HTML report from a Jupyter Notebook.

Questions

How do I send a knitted HTML file to someone without them downloading it?

Drag your knitted .html file onto ship.page in your browser. In seconds you get an HTTPS link and a QR code that anyone can open on a phone or computer without downloading an attachment. It is free with no account required, and the link stays live for 30 days.

Is there a private alternative to RPubs and Quarto Pub?

Yes. Everything on Quarto Pub is public, and RPubs is retiring in June 2027. On ship.page, free uploads are unlisted and sent with a noindex header so search engines ignore them, and the $4 a month Pro plan adds password protection.

Why do my Quarto plots or styles break when I upload only the HTML file?

By default, Quarto puts CSS, scripts and plot images into a separate report_files folder next to your HTML file. Either add embed-resources: true to your Quarto YAML header to produce one standalone HTML file, or rename the HTML file to index.html and upload it in a ZIP together with the report_files folder.

Will equations and htmlwidgets like Plotly or Leaflet work?

Yes, interactive htmlwidgets run in the browser because ship.page serves HTML, CSS and JavaScript as static files. Keep in mind that R Markdown loads MathJax externally even when self_contained = TRUE is used, so the viewer needs an internet connection for equations to render.

What if my self-contained HTML report is larger than 10 MB?

The limit for a single .html file is 10 MB on all plans. If your report is larger than 10 MB, rename the file to index.html and compress it into a .zip archive. The free plan accepts ZIP files up to 25 MB (100 MB unpacked), and the Pro plan accepts ZIP files up to 100 MB (400 MB unpacked).

Can I update my report with new data and keep the same URL?

On the free plan, pages cannot be updated in place and a new upload gets a new link. On the $4 a month Pro plan or $19 a month Team plan, you can re-upload your updated HTML report and keep the exact same link.

Keep reading

Turn your knitted report into a link

Drop your R Markdown or Quarto HTML file onto ship.page for a live link in seconds, free with no signup.