Share an HTML slide deck as a live link in seconds
Drop your HTML slide deck as an .html file up to 10 MB or a ZIP up to 25 MB (100 files) on ship.page for a free live link, no signup. It works for reveal.js, Marp, Slidev and Quarto decks, folders work too, and your presentation stays online for 30 days on its own HTTPS link.
A file. A folder. A fresh start.
Your static site, one link away.
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 slide file
- 10 MB
- Max ZIP upload (100 MB unpacked, up to 100 files free)
- 25 MB
- Free link lifetime, or 90 days with a free account
- 30 days
- Pro plan for password protection and permanent links
- $4/mo
How to turn your HTML presentation into a link
Export or build your HTML slides
Export a single HTML file from Marp or Quarto, or pack your reveal.js folder or Slidev dist folder into a .zip file. Make sure the entry file inside a folder or ZIP is named index.html.
Drop the .html file, folder or .zip onto ship.page
Drag your file or folder into the browser uploader, or pick it from your computer. You do not need an account or a credit card.
Send the live link or QR code
Your deck is live in seconds on its own HTTPS subdomain. Copy the URL to send in chat or email, or download the PNG QR code from the success screen so people in the room can scan it.
How to build and upload HTML slides from popular tools
| Tool | Command | Upload this |
|---|---|---|
| reveal.js | No build required (edit index.html in the unzipped package) | The reveal.js folder or a .zip of the folder |
| Marp CLI | marp slide-deck.md -o index.html | The index.html file, or a folder with it and its images |
| Slidev | slidev build | The dist folder or a .zip of dist |
| Quarto revealjs | format: revealjs with embed-resources: true | The single self-contained .html file |
Why host reveal.js slides instead of emailing a file
Emailing a ZIP archive forces the recipient to download and unpack it before they can view your talk. If you use reveal.js, you start by downloading and unzipping the reveal.js package and editing index.html. Opening that file from a local disk works for basic slides, but some reveal.js features such as external Markdown need the deck to run from a web server.
Uploading your reveal.js folder or ZIP to ship.page puts the deck on a real HTTPS web server right away. If your folder is larger than roughly 7 MB of files (the 10 MB request limit for folder uploads), compress it into a .zip file first; free uploads accept ZIPs up to 25 MB that unpack to up to 100 MB across 100 files.
Viewers can also turn a hosted reveal.js deck into a handout in their own browser. Reveal.js decks export to PDF by adding ?print-pdf to the address and printing from Chrome or Chromium.
How do I make a single-file deck with Marp or Quarto?
If you want one file you can share as an HTML file without zipping a folder, both Marp CLI and Quarto can output a single HTML document.
With Marp CLI, running marp slide-deck.md writes slide-deck.html next to the source. You can pass -o to set the output path, and --pdf and --pptx export other formats when someone asks for a static copy. In Quarto, using format revealjs with embed-resources: true puts every image, style and asset inside one HTML file, though it slows rendering and doesn't work with the Chalkboard plugin.
- Single .html files up to 10 MB upload in one drag with no ZIP needed.
- Keep file names and image paths matching exact letter case, because file paths on ship.page are case-sensitive.
How to deploy Slidev builds and avoid 404 links
In Slidev, running slidev build writes a self-hostable single-page app to dist. You can drag the dist folder straight onto ship.page, or zip the dist folder and upload the .zip (a ZIP with a single top folder is unwrapped automatically so dist/index.html becomes the homepage).
On ship.page a single-page app opens from its main link, but opening a later slide's own address directly can return 404 because there is no single-page-app fallback. Always share the main link of your presentation rather than copying the URL bar while sitting on slide 5.
Tip: If your tool supports hash routing (addresses like #/2 instead of /2), use hash routes so direct links to specific slides never hit a 404.
How to password-protect a confidential deck or update slides
Free uploads stay online for 30 days with no account, or 90 days when you sign in with Google or an email link and claim the upload. A free page cannot be edited in place, so uploading a fixed typo creates a new URL.
If you are sending an investor pitch, board deck or internal talk, Pro is $4 a month (cancel anytime) and adds password-protected previews so only people with the password can open your slides. Pro also lets you re-upload your deck and keep the exact same link, raises the ZIP limit to 100 MB (400 MB unpacked) and 10,000 files, removes the closable "Hosted on ship.page" badge, and keeps links online forever (or lets you pick any expiry from 60 seconds).
Questions
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. It gives you an HTTPS link in seconds for free with no signup, and it runs the deck from a web server, which some reveal.js features such as external Markdown need.
How do I deploy Slidev for free?
Run slidev build to create the dist folder, then drag dist (or a .zip of dist) onto ship.page. Always share the root URL of the uploaded deck, because ship.page has no single-page-app fallback and opening a later slide's path directly can return 404.
Can I upload a single HTML file from Marp or Quarto?
Yes. Run marp slide-deck.md to produce slide-deck.html, or build a Quarto revealjs deck with embed-resources: true, and drag the resulting .html file (up to 10 MB) onto ship.page.
Can I upload a PDF or PowerPoint file instead of HTML?
Not on its own. The uploader takes .html files, ZIPs, folders and pasted HTML, so a lone PDF or PowerPoint file is not accepted. Upload your HTML export instead, or put the PDF inside a folder or ZIP alongside an index.html file.
How long do free hosted slides stay online?
Free links stay online for 30 days without an account, or 90 days if you sign in with Google or an email link and claim the upload. With Pro ($4 a month), slides never expire unless you set a custom expiry.
Are my uploaded slides visible on Google?
No. Every uploaded page is served with a noindex header so search engines leave it out, and ship.page does not list uploads anywhere public. For confidential decks, Pro ($4 a month) adds password protection.
Keep reading
- Host reveal.js slides
- Share a Quarto report or presentation
- Share a single HTML file as a link
- Password-protect your uploaded pages
- Compare Free, Pro and Team plans
Put your slide deck online now
Drop your HTML file, folder or ZIP to get a live link and QR code in seconds.