Sign up free
deploy React site without gitNext.js deploymentclient preview hosting

How to Deploy React or Next.js Without Git

Deploy a React or Next.js site to a live URL in seconds — no Git, no CI/CD, no Vercel account. Just zip your build and share a permanent link with your client.

The Git Requirement Nobody Asked For

You’ve finished the React prototype. The client wants to see it live. And now you’re staring at a Vercel setup screen asking you to connect a GitHub repository, configure environment variables, and set up a deployment pipeline — for what is essentially a client preview.

This is the hidden tax of modern frontend tooling. Deploying a React or Next.js site without Git shouldn’t require DevOps knowledge. If you’re a freelancer, a designer who codes, or an agency developer who just needs to show a client a working build, there’s a much simpler path.


Why Vercel and Netlify Are Overkill for Client Previews

Vercel and Netlify are excellent production deployment tools. But they’re built around a Git-centric workflow that assumes you want continuous deployment, branch previews, and environment management. For client previews, that’s like using a freight truck to deliver a pizza.

The Git Overhead Problem

Every Vercel deployment requires a connected repository. That means:

  • Creating a GitHub/GitLab repo for every client project
  • Managing access permissions
  • Dealing with new preview URLs on every push (clients get confused which link is current)
  • Explaining to non-technical clients why the URL changed again

The “New URL Every Deploy” Problem

Vercel generates a new preview URL on every deployment. So when you push v2, your client has a different link than v1. They now have two tabs open and no idea which one is the latest. This is the exact version confusion problem you were trying to avoid.

The Account Requirement Problem

Some platforms require clients to have an account to view password-protected previews. That’s friction you don’t need.


The simplest workflow for deploying React or Next.js without Git:

  1. Build your project — run your normal build command
  2. Zip the output folder — one folder, one zip file
  3. Upload to Clowd — drag and drop
  4. Share the permanent link — send it once, update forever

The link never changes. When you have a new build, upload again to the same slot. Your client’s bookmark still works. They see the latest version automatically.


Step-by-Step: Deploy React Without Git

Step 1: Build your React app

npm run build

This generates a build/ folder (Create React App) or dist/ folder (Vite) containing your static site.

Step 2: Zip the output folder

On Mac: right-click the build folder → Compress On Windows: right-click → Send to → Compressed folder On Linux: zip -r build.zip build/

Step 3: Upload to Clowd

  1. Go to clowd.host and create a new delivery
  2. Select “Static Site” as the type
  3. Upload your zip file
  4. Your site is live instantly on a clean URL

Send the URL to your client. That’s it. When you have updates, upload a new zip to the same delivery — the URL stays identical.


Step-by-Step: Deploy Next.js Without Vercel

Next.js requires one extra configuration step to produce a static export.

Step 1: Configure static export

In your next.config.js:

/** @type {import('next').NextConfig} */
const nextConfig = {
  output: 'export',
}

module.exports = nextConfig

Step 2: Build

npm run build

This generates an out/ folder containing your fully static site.

Step 3: Zip and upload

Zip the out/ folder and upload to Clowd exactly as described above.

Note: Next.js static export doesn’t support server-side features like API routes, server components, or middleware. It works perfectly for marketing sites, portfolios, dashboards, and any app that can run entirely in the browser.


Framework Reference: Which Folder to Zip

FrameworkBuild commandOutput folder
Create React Appnpm run buildbuild/
Vite (React/Vue/Svelte)npm run builddist/
Next.js (static export)npm run buildout/
Astronpm run builddist/
SvelteKit (static)npm run buildbuild/
Nuxt (static)npm run generatedist/

Practical Example: The Agency Developer’s Workflow

Marcus is a developer at a small agency. He builds React prototypes for clients before handing off to production teams.

Before: He’d push to GitHub, connect Vercel, configure the project, wait for deployment, then send the client a link — only to have Vercel generate a new URL on the next push. The client would email asking “which link is the right one?”

After: Marcus runs npm run build, zips the dist folder, uploads to Clowd. The client gets one permanent URL. When Marcus pushes v2, he uploads the new zip to the same Clowd delivery. The client’s link still works — they just see the updated site.

Total time from build to live link: under 60 seconds.


Best Practices

  • Keep your build folder clean — don’t zip the entire project, only the output folder
  • Test locally first — open index.html in a browser before uploading to catch routing issues
  • Use a custom domain — Clowd supports custom domains on all plans, including free. Map preview.youragency.com to your delivery for a professional touch
  • Name your deliveries clearly — “ClientName — Project — Preview” so you can manage multiple clients from one dashboard
  • Set an expiry date for sensitive previews — if the client hasn’t approved in 30 days, the link can auto-expire

Question-Based Insights

Why do developers still use Git for client previews when they don’t need to?

Habit, mostly. The modern frontend ecosystem is so Git-centric that developers default to it even when the use case doesn’t require it. For production deployments with CI/CD, Git makes sense. For a client preview that needs to be live in 60 seconds, it’s unnecessary overhead.

What’s the difference between a static site and a server-rendered app?

A static site is pre-built HTML, CSS, and JavaScript that runs entirely in the browser. It can be hosted anywhere — including a simple file server. A server-rendered app requires a Node.js server to generate pages on request. React, Next.js (with static export), Svelte, Astro, and Vue can all produce static output that deploys without a server.


How Clowd Helps

  • ZIP upload → live in seconds — no CLI, no config files, no Git required
  • Permanent URL — one link per project, updates in place when you upload a new build
  • Custom domains — map your own domain to any delivery, including on the free plan
  • Version history — every upload is saved, rollback to any previous build with one click
  • Client comments — clients leave feedback directly on the live site, tied to each version

Start deploying React sites without Git →

Try Clowd for free

Share files with permanent links. Update anytime, same URL.

Sign up free

Related Articles