← All deploy guides

How to Deploy a Replit Site on EZLaunch

If what you built on Replit is a website made of HTML, CSS, and JavaScript, or a front-end project that builds to static files, you can host it on EZLaunch in a few minutes: download the project as a ZIP, build it if needed, and upload. If it is a Python or Node app with a server, keep it on Replit or another full-stack host; EZLaunch serves static files only. This guide shows how to tell the difference and do the move.

Is your Replit project static?

  • Yes, deploy it here: the "HTML, CSS, JS" template, a Vite or React front end, an Astro or Svelte site, or a Flask/Express project whose only job is serving a static or public folder.
  • No, keep it on Replit: anything that needs a server at runtime, such as a Python backend, a Discord bot, a database-backed API, or Replit's built-in database.

Middle ground: many Replit "apps" are a static front end plus a small API. You can host the front end on EZLaunch and leave the API on Replit, then point the front end at the API's URL. The front end gets a custom domain, forms, and analytics; the API stays where it runs.

Step 1: Download the project

In the Replit workspace open the file tree's menu (the three dots at the top of the Files panel) and choose the option to download the project as a ZIP. Unzip it on your computer. If the project is connected to GitHub, git clone works too.

Step 2: Find or build the static files

HTML template: index.html, style.css, and script.js are already at the top level. Nothing to build.

Vite / React / Astro / Svelte: run these in the unzipped folder (Node.js 18 or newer required):

npm install
npm run build

Deploy the contents of dist. For React Router apps, ask the AI to switch to HashRouter first, because EZLaunch returns 404 for paths that do not match a file.

Flask or Express serving a static folder: the deployable site is the static, public, or templates folder, as long as the pages are real HTML files and not server-rendered templates with variables in them. If they contain {{ }} placeholders, they need a server.

Zip it the right way

EZLaunch needs index.html at the top level of the ZIP, not inside a folder. Zip the files inside your output folder, not the folder itself.

  • Mac: open the folder in Finder, select all (Cmd+A), right-click, Compress.
  • Windows: open the folder, select all, right-click, Send to → Compressed (zipped) folder.
  • Terminal: cd the folder && zip -r ../site.zip .

Correct: site.zip → index.html, assets/. Wrong: site.zip → dist/index.html. The free plan accepts ZIPs up to 50 MB.

Upload to EZLaunch

Sign in at app.ezlaunch.app, click New site, and drag the ZIP onto the upload area. The site is live on a something.ezlaunch.app address with HTTPS and analytics already on. Or skip the ZIP and deploy the folder from the terminal:

npm install -g ezlaunch
ezlaunch login
cd the-site-folder
ezlaunch deploy

Custom domain and forms

Domain: in the site's Settings → Custom Domain enter your domain, add an A record at your DNS provider pointing to 87.99.143.176, click Check DNS. A Let's Encrypt certificate is issued automatically, usually within two minutes.

Forms: add data-ezlaunch name="contact" to any <form> tag and redeploy. EZLaunch injects the endpoint, filters spam with a honeypot, and shows submissions in the dashboard on paid plans.

Replit deployments or EZLaunch?

Replit has its own deployment options, including static deployments, and they are the right choice when the project also has a server you want in one place. EZLaunch is the simpler and cheaper home for pure websites: custom domain on the free plan, forms without a backend, analytics without a third-party script, and one workflow for sites made with Replit, Lovable, Bolt, Claude Code, or Cursor.

Common questions

My Replit site used a secret from Replit's Secrets tab.

A static site cannot keep secrets; anything in the files is public. Move that logic to a small API on Replit and call it from the front end.

The download ZIP has a .replit and replit.nix file.

Harmless, but leave them out of what you upload. Only browser files belong in the deploy.

Can I keep editing on Replit?

Yes. Download or pull again, rebuild if needed, and upload. Or connect the repo to GitHub and use EZLaunch's GitHub option for plain HTML projects, then click Redeploy after each push.

More deploy guides

Overview of every option: Deploying sites built by ChatGPT, Claude, Bolt, Lovable, and Replit.

EZLaunch is a product I build. Menu names and features in Replit change; check its documentation for current specifics.