# Deploy a Preview or Share Localhost? Every Option Compared

> Vercel previews, Netlify Drop, Lovable, Bolt and Replit vs sharing the app on your machine with qURL, ngrok or Gradio: who can open it, and what privacy costs.

Source: https://layerv.ai/compare/deploy-preview-vs-share-localhost/

---

[← All Comparisons](https://layerv.ai/compare/) 

# Deploy a preview, or share the app you’re running?

Every way to show someone what you built, from Vercel previews and Lovable publish to tunnels and qURL™, with a source for every value.

Deploy when the app must stay up after you close your laptop: Vercel previews, Lovable, Bolt and Replit publish a copy, but it is public by default and free private options vary by vendor; Bolt requires a paid plan. Share the live app when you want feedback while you build: qURL does it with no account and no public URL.

Facts checked October 1, 2026 against each vendor’s documentation.

## Which one do you need?

### Feedback while you’re still building

Share the live app. They see your latest code, and there’s nothing to redeploy.

### It has to work when your laptop is closed

Deploy. A live share stops when your machine sleeps or the app stops.

### Only people you send a link to should get in

Check the free tier first: Vercel, Lovable and Bolt previews are public by default, and Lovable offers invite-only access on Free, while Bolt keeps private sites for paid plans. A qURL link opens once and expires within 24 hours; the visit it starts admits the network it was opened from, so keep your app’s own login for anything sensitive.

### You built it in Lovable, Bolt or Replit

Their publish button is the fastest way to a public copy. If you have the code running locally, qURL shares the running app privately.

## Share the live app

__Ways to share an app while it runs, compared on what the viewer sees, accounts, default reach, free privacy, and link lifetime__
| Option                                      | What they see                                                                                                                                                                            | Account needed to share                                                                                                           | Who can open it by default                                                                                                                                           | Keeping it private on the free tier                                                                                                                                                                                             | How long the link lasts                                                                                                                                       |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| qURL CLI                                    | Your app, live from your machine [layerv.ai](https://layerv.ai/guides/share-localhost-without-signup)                                                                                    | No. The first publish creates the device identity [our test](https://layerv.ai/research/qurl-behaviour)                           | No one until a link is opened; then the opener’s public IP for that session, including other devices behind that IP [layerv.ai](https://layerv.ai/docs/qurls.md)     | Single-use access link by default; link and session lifetimes. IP allow and deny lists and other rules can gate links through the API, not the CLI [layerv.ai](https://layerv.ai/docs/qurls.md)                                 | Yes. qurl share returned a 24-hour link in our no-account test; no-account links are capped at 24 hours [our test](https://layerv.ai/research/qurl-behaviour) |
| ngrok (free plan)                           | Your app, live from your machine [ngrok.com](https://ngrok.com/docs/share-localhost/quickstart)                                                                                          | Yes: account and authtoken [ngrok.com](https://ngrok.com/docs/share-localhost/quickstart)                                         | Public: anyone with the URL [ngrok.com](https://ngrok.com/docs/share-localhost/quickstart)                                                                           | Traffic Policy: OAuth, OIDC, basic auth, IP restrictions (free plan: 3 OAuth/OIDC users a month) [ngrok.com](https://ngrok.com/docs/share-localhost/auth)                                                                       | No built-in expiry; free endpoints have no timeout and stay up while the agent runs [ngrok.com](https://ngrok.com/docs/pricing-limits/free-plan-limits)       |
| Cloudflare Quick Tunnel (trycloudflare.com) | Your app, live from your machine [developers.cloudflare.com](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/do-more-with-tunnels/trycloudflare/) | No [developers.cloudflare.com](https://developers.cloudflare.com/tunnel/get-started/quick-tunnels/)                               | Public, unless --allowed-mail is set [developers.cloudflare.com](https://developers.cloudflare.com/tunnel/get-started/quick-tunnels/)                                | Optional --allowed-mail email one-time PIN (browsers only; change it by restarting cloudflared) [developers.cloudflare.com](https://developers.cloudflare.com/tunnel/get-started/quick-tunnels/)                                | No; the URL works until cloudflared stops [developers.cloudflare.com](https://developers.cloudflare.com/tunnel/get-started/quick-tunnels/)                    |
| Gradio share=True                           | Your Gradio app, live from your machine; gradio.live only proxies it [www.gradio.app](https://www.gradio.app/guides/sharing-your-app)                                                    | Not documented as needing one [www.gradio.app](https://www.gradio.app/guides/sharing-your-app)                                    | Public: anyone with the link [www.gradio.app](https://www.gradio.app/guides/sharing-your-app)                                                                        | Add authentication to your Gradio app yourself [www.gradio.app](https://www.gradio.app/guides/sharing-your-app)                                                                                                                 | Expires after 1 week [www.gradio.app](https://www.gradio.app/guides/sharing-your-app)                                                                         |
| VS Code port forwarding                     | Your app, live from your machine, via Microsoft dev tunnels [code.visualstudio.com](https://code.visualstudio.com/docs/debugtest/port-forwarding)                                        | Yes: GitHub or Microsoft sign-in [code.visualstudio.com](https://code.visualstudio.com/docs/debugtest/port-forwarding)            | Private: visitors sign in with the same GitHub account that forwarded the port [code.visualstudio.com](https://code.visualstudio.com/docs/debugtest/port-forwarding) | Private is the default; Public ports need no sign-in [code.visualstudio.com](https://code.visualstudio.com/docs/debugtest/port-forwarding)                                                                                      | URL lifetime not documented in the VS Code guide [code.visualstudio.com](https://code.visualstudio.com/docs/debugtest/port-forwarding)                        |
| GitHub Codespaces port forwarding           | Your app, live from a cloud dev container [docs.github.com](https://docs.github.com/en/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace)                          | Yes: GitHub [docs.github.com](https://docs.github.com/en/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace) | Only you [docs.github.com](https://docs.github.com/en/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace)                                       | Private to you, or public to anyone with the URL; organization-only needs GitHub Team or Enterprise Cloud [docs.github.com](https://docs.github.com/en/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace) | Not documented [docs.github.com](https://docs.github.com/en/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace)                          |
| Replit development URL                      | Your app, live in the Replit workspace [docs.replit.com](https://docs.replit.com/core-concepts/project-editor/app-setup/development-urls)                                                | Yes: Replit [docs.replit.com](https://docs.replit.com/core-concepts/project-editor/app-setup/development-urls)                    | Public: anyone with the URL while you work [docs.replit.com](https://docs.replit.com/core-concepts/project-editor/app-setup/development-urls)                        | A Private development URL setting requires authentication [docs.replit.com](https://docs.replit.com/core-concepts/project-editor/app-setup/development-urls)                                                                    | Live only while you work; can change each time you reopen [docs.replit.com](https://docs.replit.com/core-concepts/project-editor/app-setup/development-urls)  |

## Deploy a copy

__Ways to deploy a shareable copy, compared on what the viewer sees, accounts, default reach, free privacy, and link lifetime__
| Option                    | What they see                                                                                                                             | Account needed to share                                                                                                            | Who can open it by default                                                                                                                                                                            | Keeping it private on the free tier                                                                                                                                                        | How long the link lasts                                                                                                                            |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| Vercel preview deployment | A deployed build of your branch or commit [vercel.com](https://vercel.com/docs/deployments/generated-urls)                                | Yes: the Vercel CLI logs you in first [vercel.com](https://vercel.com/kb/guide/why-is-vercel-cli-asking-me-to-log-in)              | Deployment protection is enabled by default for new projects; check your project settings [vercel.com](https://vercel.com/changelog/deployment-protection-is-now-enabled-by-default-for-new-projects) | Vercel Authentication on Hobby; one shareable link per account; password protection is not on Hobby [vercel.com](https://vercel.com/docs/deployment-protection/usage-and-pricing)          | As long as your deployment retention policy keeps it [vercel.com](https://vercel.com/docs/deployments/generated-urls)                              |
| Netlify Drop              | A deployed copy of your files; logged in, Netlify runs the build [docs.netlify.com](https://docs.netlify.com/deploy/create-deploys/)      | No, to drop; you claim the site to keep it [docs.netlify.com](https://docs.netlify.com/start/quickstarts/netlify-drop-quickstart/) | Behind a temporary password until you claim it [docs.netlify.com](https://docs.netlify.com/start/quickstarts/netlify-drop-quickstart/)                                                                | Private projects behind Netlify login; password protection is not on the free plan [docs.netlify.com](https://docs.netlify.com/manage/security/secure-access-to-sites/project-visibility/) | Not documented for unclaimed drops [docs.netlify.com](https://docs.netlify.com/start/quickstarts/netlify-drop-quickstart/)                         |
| Lovable publish           | A snapshot of your project on a lovable.app address [docs.lovable.dev](https://docs.lovable.dev/features/publish)                         | Yes: Lovable [docs.lovable.dev](https://docs.lovable.dev/features/publish)                                                         | Public by default; invite-only is available on Free [docs.lovable.dev](https://docs.lovable.dev/features/publish)                                                                                     | Invite-only on Free and Pro; workspace-wide or group access needs Business or Enterprise [docs.lovable.dev](https://docs.lovable.dev/features/publish)                                     | Stays up; a Free project may be unpublished after 12 months with no visits or logins [docs.lovable.dev](https://docs.lovable.dev/features/publish) |
| Bolt publish              | A published copy on a bolt.host address; later edits need republishing [support.bolt.new](https://support.bolt.new/cloud/hosting/publish) | Yes: Bolt [support.bolt.new](https://support.bolt.new/cloud/hosting/publish)                                                       | Public, and search engines can list it [support.bolt.new](https://support.bolt.new/cloud/hosting/publish)                                                                                             | Not on Free: private sites are on paid plans only [support.bolt.new](https://support.bolt.new/cloud/hosting/publish)                                                                       | Not documented [support.bolt.new](https://support.bolt.new/cloud/hosting/publish)                                                                  |
| Replit publish            | A snapshot of your app’s files and dependencies [docs.replit.com](https://docs.replit.com/cloud-services/deployments/about-deployments)   | Yes: Replit [docs.replit.com](https://docs.replit.com/cloud-services/deployments/private-deployments)                              | Public, for apps in a personal workspace [docs.replit.com](https://docs.replit.com/cloud-services/deployments/private-deployments)                                                                    | Password-protected or private publishing on every plan since May 2026 [docs.replit.com](https://docs.replit.com/updates/2026/05/08/changelog)                                              | Not documented [docs.replit.com](https://docs.replit.com/cloud-services/deployments/private-deployments)                                           |

## Frequently Asked Questions

Are Vercel preview deployments public? 

Yes, by default: Vercel says generated URLs are publicly accessible unless you configure deployment protection. On the free Hobby plan you can turn on Vercel Authentication, with one shareable link per account; password protection is not available on Hobby.

Can I share a Lovable or Bolt app privately for free? 

Lovable offers invite-only sites on Free and Pro; workspace-wide or group access needs Business or Enterprise. Bolt keeps private sites for paid plans. If the code runs on your machine, qURL shares it with a single-use link and no account.

How long does a Gradio share link last? 

One week. Gradio’s share links are public, so anyone with the link can use your app, and the processing still happens on your machine. Add authentication to the Gradio app if it should not be open to everyone who sees the link.

Is a Netlify Drop site public? 

Not at first: a site dropped without signing in sits behind a temporary password until you claim it. After that, teams created since July 28, 2026 start with new projects private behind Netlify login; password protection is not on the free plan.

How do I share a vibe-coded app without deploying it? 

Ask your coding agent to share it with qURL: paste the prompt from the vibe coding page into Claude Code, Cursor or Windsurf. It installs the qurl CLI, publishes the app privately from your machine, and gives you an address to send; it applies the private access rules you choose. No account and no public URL.

Who else can reach my app through a qURL link? 

Opening the link admits the network address it was opened from for the session, which lasts 1 hour by default. Other devices on that public IP address, such as an office or café network, can reach the app until the session ends, so keep your app’s own sign-in for anything sensitive.

## Related Resources

[Every localhost tunnel, compared →](https://layerv.ai/compare/localhost-tunnels/) [ngrok alternatives →](https://layerv.ai/compare/ngrok-alternatives/) [Guide: Share a dev server with a client →](https://layerv.ai/guides/share-dev-server-with-client/) [Guide: Share from Claude Code →](https://layerv.ai/guides/share-localhost-from-claude-code/)

## Skip the deploy. Let your agent share it.

Paste one prompt into your coding agent. It publishes the app from your machine and gives you an address to send. No account.

[How it works ↗](https://layerv.ai/vibe-coding/)

New to qURL? Start at [qurl.link ](https://qurl.link/)



---

*This markdown version is auto-generated from [https://layerv.ai/compare/deploy-preview-vs-share-localhost/](https://layerv.ai/compare/deploy-preview-vs-share-localhost/) for AI agents. Curated agent resources: [llms.txt](https://layerv.ai/llms.txt). For the full interactive experience, visit the HTML version.*

