Export the project
Use Download codebase on a paid plan, or Git sync on any plan. You receive the Vite source, not a site that is already built.
Limited-time offerPro & Max plans — 20% offSave 20% on monthly and yearly billing.
Save 20% on monthly and yearly billing.
Lovable export hosting · Updated September 23, 2026
Lovable builds the app. HTMLShare turns the static frontend build into a browser link for a client demo, a design review, or a temporary handoff. This is a preview of the exported files, not a move of Lovable Cloud or a production deploy.
Export the project, build the static frontend, ZIP dist, upload it to HTMLShare, then share the URL.
Use Download codebase on a paid plan, or Git sync on any plan. You receive the Vite source, not a site that is already built.
In the project folder, run npm install, then npm run build. Lovable documents Node 22, the build command npm run build, and the output directory dist.
Compress the dist folder. index.html should sit at the ZIP root, or directly inside that one folder. Leave src, package.json, and node_modules out.
Sign in when the build is larger than the 3 MB guest ZIP limit. A signed-in project can be 20 MB. HTMLShare will not run the Vite build for you.
Open the preview in a fresh tab, check the first screen, then send that URL. Reviewers do not need a Lovable account.
Lovable’s code editor downloads the project source. The external hosting guide then tells you to build that Vite app and publish dist. HTMLShare can host the second artifact. It cannot turn the first one into a website.
Download codebase ZIP
After you build it
Paid plans, edit access. This is source code. Enterprise admins can limit the download to admins and owners.
Git sync repository
After you build it
Available on all plans. Lovable’s external hosting guide uses this repository as the source for npm run build.
dist/ after npm run build
Yes
The static HTML, CSS, JavaScript, and assets HTMLShare can publish.
Single HTML file
Yes
Upload it directly when the page is already self-contained and does not import a src tree.
Lovable Cloud, auth, database
No
Those stay where Lovable hosts them. A static upload does not migrate them.
Guest uploads: 1 MB HTML, 3 MB ZIP, and the preview expires after one hour. Signed-in projects: 5 MB for one HTML file, 20 MB for the whole project. Free links last 1 day, Pro links last 30 days, and Max links stay up.
GitHub is optional for this preview. Paid-plan editors can download the codebase, build dist locally, and upload the ZIP. That path is for a prototype or a client review. Lovable’s guide for Vercel, Netlify, Cloudflare Pages, and similar hosts starts by connecting Git sync, because those platforms build from the repository.
HTMLShare publishes files the browser can open. A Lovable app that still needs its backend will show the shell and then fail where it asks for data, login, or a server function.
A marketing page that is done once the HTML, CSS, and images load.
A clickable flow for a stakeholder who should see the interface, not the Lovable chat.
Charts and layouts that render from files already in the build.
Tabs, menus, and other behavior that runs in the browser without a new server.
Moving the frontend is a file upload. Moving the backend is a separate migration. Lovable’s external hosting guide says you can deploy the production frontend while the built-in Cloud backend stays where it is, or move the backend later. The dist ZIP does not contain the database, stored files, auth configuration, or Edge Functions.
Boundary: if the Vite build was created with the project’s VITE_SUPABASE_URL and VITE_SUPABASE_PUBLISHABLE_KEY, the static page can keep calling that Cloud project. HTMLShare does not copy, pause, or replace it. Rebuild when those values change. They are embedded at build time.
Lovable project, then a local build, then HTMLShare, then one browser URL. Use it for stakeholder review, a client demo, a temporary handoff, a portfolio preview, or design approval.
The preview shows the dist files you uploaded. Later edits in Lovable stay in Lovable until you build again and replace the project.
Point the client at copy, layout, flow, or mobile width. They do not need GitHub, Vercel, or a Lovable login.
Pro and Max can replace the project at the same URL. Free projects and guest uploads cannot. A guest preview lasts one hour.
Quick client or stakeholder review
Lovable preview
Standalone preview URL
The reviewer opens a browser link and does not need a Lovable account.
Share a build without GitHub
Download codebase, then build
Upload the dist ZIP
HTMLShare publishes the static files. It does not create a repository.
Keep using Lovable Cloud
Best fit
Frontend only
The built page can still call the original backend. The backend itself is not in the ZIP.
Production domain, CI, and env vars
Lovable publish, or Vercel / Netlify
Not this workflow
Lovable documents those platforms for a real deployment pipeline.
Deep links that survive a refresh
Configure an SPA fallback
Test the root URL
A Vite app that assumes the site root can miss routes under a project path.
Choose HTMLShare for a fast static preview. Choose Lovable, Vercel, Netlify, or another full app host when you need production traffic, a backend, environment management, CI, or a custom runtime.
The browser got index.html but not the built bundles. Build first, then upload dist rather than the project root.
Preview a Vite project onlineThe codebase ZIP contains src, package.json, and Vite’s development index.html. Those files are not the static site. Run npm run build and zip dist.
JavaScript not workingKeep the assets folder next to index.html. A ZIP of only the HTML file drops the CSS, JavaScript, images, and fonts the build emitted.
Share HTML with assetsLinks that start with a drive letter or file:// only work on your machine. The Vite build should emit paths HTMLShare can rewrite against the uploaded files.
Send the root preview URL. A route such as /pricing can fail to match when the app expects to live at the domain root and the preview lives under a project path.
Preview index.html onlineLovable says VITE_ variables are embedded at build time. Cloud projects need VITE_SUPABASE_URL and VITE_SUPABASE_PUBLISHABLE_KEY in the environment before npm run build. HTMLShare cannot add them later.
The static page can still call the original Cloud or Supabase project. If that backend is paused, locked down, or missing from the build, the UI loads and the data calls do not.
HTMLShare vs VercelHTMLShare accepts index.html at the ZIP root, or inside one enclosing folder such as dist/. A path like export/dist/index.html is too deep. Zip the dist folder itself.
After npm run build, the folder Lovable documents is dist. Zip that folder. Check that index.html exists, asset paths are still the ones the build wrote, and the archive is within the 20 MB signed-in limit.
dist/ ├── index.html ├── assets/ │ ├── index-[hash].js │ └── index-[hash].css └── favicon.ico
Uploading dist as the only top-level folder is fine. If index.html sits two levels down, move the build folder up and zip it again. Before you send the link, open it and confirm the stylesheet, script, and images load.
FAQ
Yes, for the static frontend. Lovable documents external hosting for teams that need to run the app outside Lovable. Build the Vite project, upload the dist output, and share that URL. Lovable’s own publish flow remains the integrated path when you want Lovable to keep hosting the app.
Upload a ZIP of the built static output, with index.html at the archive root or inside one enclosing folder. The Download codebase ZIP is source code. HTMLShare does not run npm install or npm run build, and it rejects source files such as .tsx and .ts.
A normal Lovable project does. Lovable’s external hosting guide says these projects are standard Vite apps: run npm run build and publish the dist directory. A single self-contained HTML file can be uploaded as-is. The source ZIP cannot.
Yes, for a static preview. On paid plans, people with edit access can download the codebase from the code editor or from Project settings → Git, build it locally, and upload dist. HTMLShare does not need a repository. Lovable’s production migration guide assumes Git sync when you deploy to Vercel, Netlify, or similar hosts.
Yes, when the thing you need to show is the static frontend. Send the preview URL for a landing page, prototype, or design review. Sign in first: guest previews expire after one hour. Free links last 1 day, Pro links last 30 days, and Max links are kept permanently.
No. Uploading dist does not migrate Lovable Cloud, the database, authentication, storage, secrets, or Edge Functions. If the built frontend still calls that backend, those requests keep depending on it. Lovable’s guide treats frontend hosting and backend migration as separate steps.
Yes, when the upload is static and stays within the size limits. Guest uploads are 1 MB for one HTML file and 3 MB for a ZIP. Signed-in projects accept one HTML file up to 5 MB and 20 MB for the whole project. HTMLShare serves those files as a noindex preview link.
The usual cause is uploading source instead of dist, so the browser never receives the built JavaScript and CSS. Other causes are a ZIP whose index.html is nested more than one folder deep, asset paths that still point at your computer, or a build that ran without the VITE_ values the frontend expects.
Yes. Zip the dist folder after npm run build and upload that archive. Open the root preview URL and click through the page before you send it. A Vite app that assumes it is mounted at the site root can miss a client-side route, because the preview URL includes a project path.
It is enough for a landing page, a clickable prototype, or a frontend demo. It is not enough when the review depends on a database, login, Edge Functions, or a production domain. Use Lovable, or a host such as Vercel or Netlify, for that production deployment.
Zip the static build, stay within the 20 MB project limit, and send a browser URL for review. Leave the Cloud backend on Lovable until you actually migrate it.