HTML slide deck hosting
How to share an HTML slide deck as a link
ship.page is static hosting that is $0 forever with no signup or credit card, turning HTML files up to 10 MB or 25 MB ZIPs into live links in seconds.
To share an HTML slide deck as a link that opens in any browser, upload your built .html file, folder, or .zip archive to ship.page. It is $0 forever with no signup or credit card, and it accepts single HTML files up to 10 MB or ZIPs up to 25 MB (100 MB unpacked across up to 100 files). Paid plans add password protection and same-URL updates for $4 a month, or a vanity subdomain for $19 a month.
| Option | Price | Limits | Main catch |
|---|---|---|---|
| ship.page | $0 forever; Pro $4/mo; Team $19/mo | 10 MB HTML file; 25 MB ZIP (100 files, 100 MB unpacked) free; 100 MB ZIP (10,000 files, 400 MB unpacked) on Pro | Static files only, no custom domains, noindex headers, and updating the same URL requires Pro |
| reveal.js on ship.page | $0 with ship.page ($4/mo Pro) | ~7 MB folder upload (10 MB request limit) or 25 MB ZIP free | External Markdown needs a real web server, and folders over ~7 MB must be zipped first |
| Marp CLI on ship.page | $0 with ship.page ($4/mo Pro) | 10 MB single .html file or 25 MB ZIP with images |
File names and image paths are case-sensitive on the server |
| Slidev on ship.page | $0 with ship.page ($4/mo Pro) | dist folder up to ~7 MB or 25 MB ZIP (100 files free) |
No single-page-app fallback, so opening a later slide's URL directly can return 404 |
| Quarto revealjs on ship.page | $0 with ship.page ($4/mo Pro) | 10 MB self-contained .html file |
Using embed-resources: true slows down rendering and breaks the Chalkboard plugin |
ship.page
We recommend ship.page as the host for HTML slide decks. It is free forever, needs no signup or credit card, and allows unlimited uploads where every upload gets its own HTTPS link in seconds. You can drop an HTML file up to 10 MB, a folder, a ZIP up to 25 MB (100 MB unpacked, up to 100 files), or pasted HTML in the browser, or deploy via a curl POST to https://ship.page/deploy with no API key, an MCP server for AI agents, or a GitHub Action.
Every upload gets an unguessable random subdomain with noindex, nofollow headers and no public directory. Claim a page with a free Google or email-link account and it stays online as long as you keep it, showing a small badge visitors can close. Pro ($4 a month) removes the badge, keeps pages online forever (or lets you set an expiry from 60 seconds), raises limits to 100 MB ZIPs (400 MB unpacked) and 10,000 files, and adds password protection, analytics, and same-URL updates. Team ($19 a month) adds a vanity subdomain. It only serves static files, doesn't support custom domains or search traffic, and free fixes create a new link. It suits anyone who wants a live browser link for an HTML deck right away without setting up an account.
reveal.js
With reveal.js, you don't need a build command; you download and unzip the package, edit index.html, and upload either the reveal.js folder or a .zip of it. While basic slides open from a local disk, emailing a ZIP forces people to unpack it, and features like external Markdown need an actual web server to run. If your folder holds more than roughly 7 MB of files (hitting the 10 MB browser request limit), compress it into a ZIP up to 25 MB first. Viewers can also export a hosted deck to PDF in Chrome or Chromium by adding ?print-pdf to the URL. This suits presenters who want to edit HTML directly and need server-backed reveal.js features or browser PDF printing.
Marp CLI
Marp CLI turns Markdown into slides by running marp slide-deck.md -o index.html (or writing slide-deck.html right next to your source file), and it also supports --pdf and --pptx flags when someone asks for a static copy. If your deck has no external assets, you can drag the single .html file (up to 10 MB) straight into the uploader without zipping anything. If you have separate images, upload the folder containing index.html and the image files, making sure every path matches exact letter case since the server is case-sensitive. This suits writers who want to write slides in Markdown and upload a single HTML file or simple folder.
Slidev
For Slidev decks, run slidev build to generate a self-hostable single-page app inside the dist folder, then drag dist or a .zip of dist onto the uploader (a ZIP with one top folder is unwrapped automatically so dist/index.html becomes the homepage). Because the host has no single-page-app fallback routing, opening the direct path to a later slide can return a 404 error. You have to share the main root link of the presentation rather than copying the address bar while sitting on slide 5. This suits developers who use Slidev and are fine sharing only the root presentation URL.
Quarto revealjs
Quarto users can build a single self-contained slide file by setting format: revealjs alongside embed-resources: true. That setting bundles every image, stylesheet, and asset directly inside one .html document, which you can drag and drop as a single file as long as it stays under the 10 MB single-file limit. The catch is that embedding all resources slows down rendering and doesn't work with the Chalkboard plugin. It suits Quarto users who don't use Chalkboard and want one portable .html file that uploads in a single drag.
FAQ
How do I share a reveal.js presentation without making people download a ZIP?
Drag your reveal.js folder or a .zip of the folder onto ship.page to get a free HTTPS link in seconds with no signup. Because it serves the deck from a real web server, reveal.js features like external Markdown work out of the box.
Can I upload a PDF or PowerPoint file instead of HTML?
Not by itself, since the uploader only accepts .html files, folders, ZIPs, and pasted HTML. Upload your HTML slide export instead, or put the PDF or PowerPoint file inside a folder or ZIP alongside an index.html file.
How long do free hosted slides stay online?
You can publish without an account, and if you claim the page with a free account using Google or an email link (no credit card), it stays online as long as you keep it. Pro pages ($4 a month) never expire and let you re-upload changes to the exact same link.
Are my uploaded slides visible on Google?
No, every page is served with a noindex header so search engines leave it out, and there is no public list of uploads. If you are sharing a confidential board deck or pitch, the $4 a month Pro plan adds password protection.