Skip to content
HTML, CSS AND JAVASCRIPT: 25 MB ZIPS, 100 FILES

Publish an HTML, CSS and JavaScript website for free

Keep your index.html, CSS, JavaScript and images together with relative paths and upload the folder or a .zip file to ship.page for free with no signup. The free forever plan needs no credit card, gives you a live HTTPS link in seconds, and takes single .html files up to 10 MB or .zip files up to 25 MB (100 MB unpacked) with up to 100 files per upload and unlimited uploads.

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.

Free ZIP upload limit (100 MB unpacked)
25 MB
Included per upload on the free forever plan
100 files
Single HTML file limit on every plan
10 MB
Free forever with no signup, no credit card, no ads
$0

How to put your HTML, CSS and JS project online

  1. Check your homepage and relative paths

    Put your main page at the root of your project folder and name it index.html in lowercase. Link your stylesheets, scripts and images with relative paths like style.css or images/logo.png so they load from the uploaded folder.

  2. Keep the folder as is or compress it into a ZIP

    Browser folder uploads go up as a single request of at most 10 MB with the files encoded inside it, which fits roughly 7 MB of raw files. If your project is larger, compress the folder into a .zip file (up to 25 MB compressed and 100 MB unpacked on the free plan).

  3. Drag your folder or ZIP into ship.page

    Drop your folder or .zip file onto the uploader, or pick it from your computer. If your ZIP has a single top folder, ship.page unwraps it automatically so index.html sits at the root.

  4. Share your live HTTPS link or QR code

    Your website goes live in seconds on its own subdomain over HTTPS, and the success screen gives you a QR code with a PNG download. You can publish without an account, or claim the page with a free account (no card) to manage it from a dashboard.

Folder checklist before you upload

CheckWhy it matters
index.html at the top levelship.page serves index.html as the homepage (single top folders in a ZIP unwrap automatically)
Relative pathsPaths like css/style.css work anywhere; local disk paths like C:/Users/you/style.css break online
File name casePaths are case-sensitive online, so images/Logo.png will not load a file named images/logo.png
Total sizeFree takes 10 MB for a single HTML or folder request (~7 MB of files), or a 25 MB ZIP (100 MB unpacked)
Files countThe free plan takes up to 100 files per upload; Pro ($4/month) takes up to 10,000 files

How should you structure folders, links and routes?

When you move from your computer to a live server, every file path becomes case-sensitive. Your computer might let style.css load Style.CSS, but a live web server treats them as two different files. Keep all file names and folder names lowercase, and link them with relative paths instead of local file paths.

Multi-page sites work out of the box when you match your links to your file structure. A file saved as about.html opens at /about.html, while the shorter /about address works when you save the file as about/index.html. If you only have a single file with inline styles, see our guide on turning a single HTML file into a website or pasting raw HTML code.

If your JavaScript project is a single-page app that uses client-side routing, opening a route like /about works after a visitor starts on the homepage, but opening or refreshing /about directly returns a 404 error because ship.page has no single-page-app fallback. Switch your router to hash routes like /#/about so every link works on direct load, or use Netlify, Cloudflare Pages or Vercel if you need the server to rewrite every path to index.html.

  • Supported static files: HTML, CSS, JavaScript, images, fonts, audio, video, WebAssembly and JSON.
  • No server code: PHP, Node.js, Python, databases and WordPress do not run here.
  • Contact forms: connect your HTML form tag to a third-party form service.
  • Uncompressed files only: files are served with no Content-Encoding, so turn off .br or .gz pre-compression or include a JavaScript decompressor.

How do GitHub Pages and Netlify compare when you have an account?

If you only want a live link right now without creating an account, ship.page publishes your folder in seconds with no password gate in front of your visitors. When you want to compare other ways to publish, GitHub Pages and Netlify are the two main routes that require an account.

GitHub's web uploader (under Add file, then Upload files) lets you drag in up to 100 files at a time and 25 MiB per file in the browser with no Git installed. You then open Settings, click Pages, and pick a branch to publish your site at username.github.io/repository a few minutes later. Pick GitHub Pages when you already keep your code in a GitHub repository and want commits to update the live site.

Netlify Drop (at app.netlify.com/drop) accepts a folder, ZIP or single HTML file in the browser without signing in first, and its documentation notes that deploys under 50 MB work best while single files over 10 MB may get stuck. However, a site dropped without signing in stays behind a temporary password until you claim it with a Netlify account, and Netlify's blog states that an unclaimed drop expires on its own.

Tip: If your project is already packed as an archive, read our guide to hosting a ZIP file online, or start from scratch with how to make a web page.

When do you need a free account or the $4/month Pro plan?

You can publish to ship.page without an account, and the free plan has no bandwidth limits, no ads and a small "Hosted on ship.page" badge that visitors can close. Signing in with Google or an email link (no credit card) lets you claim your upload to manage it from a dashboard, though a free page cannot be updated in place and a new upload gets a new link.

Pro is $4 a month (billed monthly, cancel anytime, no yearly plan). On Pro, pages don't expire while you're on Pro (or you can pick any expiry from 60 seconds), you can re-upload or edit a page and keep the same link, and the badge is removed. Pro also adds password protection, raises limits to 100 MB ZIPs (400 MB unpacked), 10,000 files per upload and 120 deploys a minute, and includes up to 5 custom subdomains like yourname.ship.place that you can point at any of your pages.

Questions

How do I convert an HTML, CSS and JavaScript folder into a live website?

Make sure your main file is named index.html at the top level of the folder and that your CSS, JavaScript and images use relative paths. Drag the folder (or a ZIP of the folder) into ship.page to get a live HTTPS link in seconds for free with no signup.

Why are my CSS styles or images not loading after I upload my folder?

Check two things: relative paths and capitalization. File paths on a live web server are case-sensitive, so an image saved as Logo.png will not load if your HTML asks for logo.png, and links pointing to a local computer drive like C:/Users/ will fail online.

Should I upload a folder or a ZIP file?

Either works, depending on size. A browser folder upload is sent as one request of up to 10 MB with the files encoded inside it (about 7 MB of files), so if your project is between 7 MB and 25 MB (up to 100 MB unpacked and 100 files on the free plan), zip the folder before uploading.

Can I update my HTML, CSS and JavaScript files without changing the link?

On the free plan, a page cannot be updated in place, so uploading a new version creates a new link. On the $4 a month Pro plan, pages don't expire while you're on Pro and you can re-upload or edit your site while keeping the exact same URL, or point one of up to 5 custom subdomains (like yourname.ship.place) at any page.

Will search engines index my uploaded website?

No. Every page uploaded to ship.page is served with a noindex header so search engines leave it out, and ship.page does not list uploads anywhere public, though anyone who has the link can open it.

Can I deploy from the command line or GitHub instead of the browser?

Yes. Developers can publish with a single curl command to POST https://ship.page/deploy, through the MCP server at https://ship.page/mcp, or with the GitHub Action.

Keep reading

Put your HTML, CSS and JS online

Drop your project folder or a ZIP file above to get a live HTTPS link and QR code in seconds, free and with no signup.

Bitgate blog