Limited-time offerPro & Max plans — 20% off

Save 20% on monthly and yearly billing.

View plans

Base44 export hosting · Updated October 2, 2026

Turn a Base44 Export Into a Browser Preview

Exported Base44 code is a React and Vite project. Build the frontend, zip that static output, and HTMLShare turns it into a browser link for a client review, a QA pass, or a temporary handoff. This is a preview of the built files, not a Base44 migration.

How to preview a Base44 export

Export the project, build the static frontend, ZIP the output, upload it to HTMLShare, then share the URL.

01

Export the project

On the Builder plan or higher, open Code and choose Export project as ZIP, or connect GitHub. You receive the React and Vite source, not a site that is already built.

02

Install dependencies

In the project folder, run npm install. Base44’s project docs use that command before npm run dev. If you use base44 eject or base44 build, the CLI requires Node.js 20.19.0 or higher.

03

Build the frontend

Run npm run build. When the project is linked and the bundle must carry the Base44 app ID, run base44 build instead. That command runs the project build with the ID injected.

04

ZIP the output

Compress the build folder. Base44’s site config example uses ./dist. index.html should sit at the ZIP root, or directly inside that one folder. Leave src, functions, and node_modules out.

05

Share the root URL

Upload the ZIP to HTMLShare and open the preview. Reviewers do not need a Base44 account to see the static files you uploaded.

A Base44 ZIP is source code

Base44’s quick start says you can export the app as a ZIP or to GitHub on the Builder plan or higher. The project structure docs then describe a standard React app built with Vite: pages, components, the SDK client, and a source index.html. HTMLShare can host the folder the build writes. It cannot turn the source ZIP into a website.

Export project as ZIP

After you build it

Builder plan or higher. This is the React and Vite codebase, including source index.html, not the production build.

GitHub 2-way sync

After you build it

Builder plan or higher. Clone the repo, install, and build. Entity schemas stay in Base44 and are not in that repository.

base44 eject

After you build it

Creates a separate Base44 app with an empty database. Schemas are copied. Records are not.

dist/ after the build

Yes

The static HTML, CSS, JavaScript, and assets HTMLShare can publish. Confirm the folder named in site.outputDirectory.

Auth, data, functions, files

No

Those stay on Base44. A static upload does not migrate them. Export table data separately as CSV when you need the records.

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.

Build the Base44 frontend

From the exported folder, install dependencies and run the production build. Base44’s React quickstart says npm run build writes optimized files to the output directory, typically dist. If base44/config.jsonc exists, use the path in site.outputDirectory. The site deploy docs use ./dist as that example.

npm install
npm run build
# or, in a linked project:
base44 build

base44 build runs the project’s build command with the linked app ID injected, so the compiled frontend can still reach that Base44 app. npm run dev is the local preview Base44 documents. It is not the folder you upload.

Upload the build without GitHub

GitHub is optional for this preview. Builder-plan editors can download the ZIP, build locally, and upload the output. That path is for a prototype, a frontend check, or a client review. It is not a substitute for Base44 publish or for base44 site deploy, which uploads the same kind of build back to Base44 hosting.

  • No GitHub repository is required to publish the static build.
  • No Vercel project is required for the review link.
  • The reviewer gets a URL instead of a ZIP attachment.
  • Base44 stays the builder. HTMLShare only hosts the files you upload.

What still depends on Base44

A frontend export is not a backend migration. Search the source for base44.entities, base44.auth, base44.integrations, and base44.functions before you treat the preview as a standalone app. Those calls keep using Base44 until you replace them.

Authentication

base44.auth calls still talk to Base44. A static preview does not create accounts or move sessions.

Entities and records

The frontend can still request Base44 data. The ZIP does not contain those records. Eject copies schemas into a new, empty database.

Backend functions

functions/ holds server TypeScript. HTMLShare does not run it. A button that calls a function still needs the Base44 function, or a replacement you host elsewhere.

Integrations and secrets

Email, LLM, file, and connector calls that go through the Base44 SDK keep using Base44’s servers. Secrets are not in the export.

Boundary: base44 eject clones the app into a new Base44 project and leaves that database empty. The original app is unchanged. A preview of an ejected build can show the interface against empty data even when the original app still has records.

Preview hosting and a full migration

Quick client or stakeholder review

Base44 preview

Standalone preview URL

The reviewer opens a browser link and does not need a Base44 account.

Share a build without GitHub

Export project as ZIP, then build

Upload the dist ZIP

HTMLShare publishes the static files. It does not create a repository.

Keep using the Base44 backend

Best fit

Frontend only

The built page can still call the original app. The database and functions are not in the ZIP.

Production domain, data, and CI

Base44 publish, or site deploy

Not this workflow

A preview link does not replace auth, storage, functions, or a deployment pipeline.

Deep links that survive a refresh

Base44 serves the SPA

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 Base44, or a host that can run the backend, when you need production traffic, saved data, login, functions, or CI.

Share the preview with a client

Base44 project, then a local build, then HTMLShare, then one browser URL. The client can open it on a phone without installing Node or running the Vite dev server.

Send the snapshot you built

The preview shows the files you uploaded. Later edits in Base44 stay in Base44 until you export, build again, and replace the project.

Ask one review question

Point the client at copy, layout, flow, or mobile width. They do not need GitHub, the Base44 editor, or a local checkout.

Keep a stable link on Pro or Max

Pro and Max can replace the project at the same URL. Free projects and guest uploads cannot. A guest preview lasts one hour.

Base44 and Lovable exports

Both builders hand you a Vite frontend that has to be built before HTMLShare can publish it. The runtime each export still calls is different, so a Lovable checklist does not describe a Base44 app.

What you download

React and Vite source, plus functions in the editor export

Vite source from Download codebase or Git sync

Before HTMLShare

npm run build, or base44 build when the app ID must be injected

npm run build, with Cloud VITE_ values present at build time

What stays behind

Records, auth, functions, storage, and SDK calls

Lovable Cloud, database, auth, storage, and Edge Functions

Plan gate for the ZIP

Builder plan or higher for ZIP and GitHub

Paid plan for Download codebase; Git sync is separate

Lovable export hosting

Common Base44 export problems

Blank page after upload

The browser got a source index.html, or a built index.html without its bundles. Build first, then upload the output folder rather than the project root.

Preview a Vite project online

Uploaded source instead of the build

The editor ZIP contains src, package.json, and Vite’s development index.html. Those files are not the static site. Run the build and zip the output.

JavaScript not working

Missing app ID in the bundle

base44 build injects the linked app ID before compiling. A plain npm run build can emit a frontend that has nowhere to send SDK calls. Rebuild with the ID the project expects. HTMLShare cannot add it later.

Base44 SDK requests fail

The page can load while entities, auth, integrations, or functions still call Base44. If that app is private, paused, or pointed at an ejected empty database, the UI appears and the data does not.

HTMLShare vs Vercel

Asset paths break

Keep the assets folder next to index.html. Links that start with a drive letter or file:// only work on your computer.

Share HTML with assets

SPA routes 404

Pages such as Settings.jsx become /settings in the Base44 app. Send the root preview URL. A deep route can fail when the app expects the domain root and the preview lives under a project path.

Preview index.html online

ZIP root has no index.html

HTMLShare 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 build folder itself.

ZIP structure checklist

After the build, zip the output 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

Common questions

Can I host a Base44 export outside Base44?

Yes, for the built frontend. Base44 documents a ZIP download and a GitHub export on the Builder plan or higher, and both produce a React and Vite project. Build that project, upload the static output, and share the preview URL. The Base44 backend, database, and functions stay on Base44 unless you migrate them separately.

Can I upload a Base44 ZIP directly?

Only when the ZIP is the built static output, with index.html at the archive root or inside one enclosing folder. The editor’s Export project as ZIP is source code. HTMLShare does not run npm install or npm run build, and it rejects source files such as .jsx, .tsx, .ts, and package.json.

Does Base44 export React and Vite source code?

Yes. Base44’s project structure docs say Base44 apps are standard React apps built with Vite. A typical export includes src, package.json, vite.config.js, and a source index.html. That index.html is the Vite entry, not a finished static site.

Do I need to build a Base44 export first?

Yes, for a normal Base44 app. Run npm install, then npm run build. Base44’s React quickstart says the production files land in the output directory, typically dist. If the project is linked and the bundle must include the Base44 app ID, use base44 build, which runs the project build with that ID injected.

Can I host Base44 without GitHub?

Yes, for a static preview. On the Builder plan or higher, open Code and use Export project as ZIP, build the frontend locally, and upload the output folder. HTMLShare does not create a repository. GitHub 2-way sync is a separate Builder-plan option when you want the source kept in a repo.

Does the Base44 backend export too?

The code export is not a data export. Base44’s mobile docs say you can download frontend code and functions, and export database collections separately as CSV. The CLI eject command copies entity schemas into a new project and leaves that database empty. User records, uploaded files, secrets, and integrations are not inside the static build.

Can I preview a Base44 frontend without migrating the backend?

Yes, when the built page can still reach the original Base44 app. Uploading dist does not copy auth, entities, functions, or storage. If the bundle still calls the Base44 SDK, those requests keep depending on that backend. A blank data view usually means the frontend loaded and the backend call did not.

Why is my Base44 export blank after upload?

The usual cause is uploading the source ZIP instead of the build, so the browser never receives the compiled 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 Base44 app ID the SDK expects.

Can HTMLShare host a Base44 dist folder?

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.

Is HTMLShare suitable for production Base44 migration?

No. Use it for prototype review, frontend QA, a client handoff, or a temporary URL. A production migration still needs a backend, database, authentication, functions, environment management, and a deployment pipeline. Base44’s own site deploy, or another full app host, is the path for that.

Have a Base44 dist folder?

Zip the static build, stay within the 20 MB project limit, and send a browser URL for review. Leave the Base44 backend where it is until you actually migrate it.