Guides / Upload HTML

Upload an HTML file online and share it as a public link

Upload one finished HTML file and turn it into a browser link for review or sharing. No ZIP is required when the page is self-contained.

Updated 2026-08-17Practical deployment guide

Answer First

Upload a complete .html file, paste its source, or deploy a browser-ready static build and PreviewShip returns a public HTTPS URL. A self-contained page needs no ZIP; pages with local CSS, JavaScript, images, fonts, or framework assets should be uploaded as a complete static folder or ZIP after the project is built.

Deploy build artifacts, not source-code zips.

If you upload a zip, build the project first and zip the static output folder such as dist, build, out, or public with index.html and assets. Do not zip raw React/Vue/Next source folders with package.json and node_modules. Single .html, .md/.markdown, and .pdf files are supported directly by console upload, CLI, MCP, and the VS Code/Cursor extension.

Key takeaways

Upload one complete HTML file directly or paste its full source; no ZIP, Git repository, FTP client, DNS, or server setup is required.
Use a static folder or ZIP when the page references local CSS, JavaScript, images, fonts, multiple pages, or framework build assets.
React, Vue, Vite, Next static export, Astro, and Svelte projects must be built first; deploy dist, build, out, or public instead of source code.
PreviewShip is designed for review links, demos, reports, AI artifacts, and temporary public previews rather than production application hosting.

Recommended workflow

1

Save the complete page as a .html file, copy the full HTML source, or build the framework project into static output.

2

Open PreviewShip and choose direct HTML upload, paste HTML, a browser-ready ZIP, CLI, MCP, or an editor workflow.

3

Enter a project name, deploy the artifact, and wait for the Ready result.

4

Open the returned HTTPS URL, verify the page and its local assets, then share that same project link.

Comparison snapshot

ArtifactUpload thisDo not upload
One self-contained pageThe .html file or full pasted sourceA ZIP containing only one HTML file
HTML with local assetsA static folder or ZIP with index.html and assetsOnly index.html without its CSS, scripts, images, or fonts
Framework projectThe built dist, build, out, or public outputpackage.json, src, node_modules, or raw source ZIP
Repeat review deploysThe new browser-ready artifact under the same projectA new production hosting setup for each review

Choose the right upload input

Use direct .html upload or paste HTML when the page is self-contained or only references reachable external assets. This fits generated landing pages, reports, dashboards, calculators, and design proofs.

Use a ZIP or static folder when index.html references local images, CSS, fonts, JavaScript, or nested routes. For a framework project, run its production or static-export build first and upload the generated output.

One complete page: upload .html or paste the full document.
HTML plus local assets: upload the complete static folder or ZIP.
Framework source: build first, then deploy dist, build, out, or public.
Markdown or PDF handoff: use the corresponding direct file workflow.

Upload without FTP, DNS, or a repository

Traditional upload-to-website workflows often involve FTP, cPanel, a Git repository, a hosting dashboard, or DNS. Those steps are unnecessary when the immediate goal is a review link for an artifact that already runs in a browser.

PreviewShip keeps this handoff narrow: select the browser-ready artifact, deploy it, open the generated URL, and share the verified link.

Troubleshoot a blank page or missing assets

A blank result usually means the uploaded artifact was not browser-ready. Confirm that index.html is at the expected entry point, open the build locally, and check that every stylesheet, script, image, and font path still exists after packaging.

If the page came from a framework, do not upload the source project. Run the build, deploy the generated output, and compare the exact filename case and relative path for any asset that still returns 404.

Missing index.html: deploy the correct build-output directory.
CSS or images return 404: preserve relative paths and filename case.
Blank React or Vue page: build the project and verify its base path.
External API fails: confirm it accepts browser calls from the preview origin.

Preview sharing is different from production hosting

A PreviewShip URL is a fast way to review a finished static artifact. Choose a production platform when the site needs durable release operations, custom domains, backend services, databases, server rendering, or production uptime commitments.

Official sources

Product and workflow facts were verified against these official pages on 2026-08-17.

FAQ

What happens to the uploaded HTML or Markdown filename?

PreviewShip serves single HTML/Markdown uploads as index.html so the preview opens from the root URL.

Can I upload an HTML file online for free?

Yes. PreviewShip supports lightweight free preview deployments for single HTML/Markdown files and static artifacts, with paid plans for higher limits and private access controls.

Can the HTML include JavaScript?

Yes. Client-side JavaScript can run as part of the static preview if the browser and external dependencies allow it.

Can I update the same project later?

You can deploy a new version under the same project workflow and keep the fixed project URL pointing at the latest deployment.

Do I need FTP, a domain name, or a Git repository?

No. PreviewShip returns a hosted preview URL, so a browser-ready HTML artifact can be shared without FTP, DNS, a custom domain, or a repository.

Should I upload framework source code or built output?

Upload browser-ready output. Build the project first, then deploy dist, build, out, public, or a ZIP that contains index.html and all referenced static assets.