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
| 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 | No. The first publish creates the device identity our test | No one until a link is opened; then the opener’s public IP for that session, including other devices behind that IP layerv.ai | 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 | Yes. qurl share returned a 24-hour link in our no-account test; no-account links are capped at 24 hours our test |
| ngrok (free plan) | Your app, live from your machine ngrok.com | Yes: account and authtoken ngrok.com | Public: anyone with the URL ngrok.com | Traffic Policy: OAuth, OIDC, basic auth, IP restrictions (free plan: 3 OAuth/OIDC users a month) ngrok.com | No built-in expiry; free endpoints have no timeout and stay up while the agent runs ngrok.com |
| Cloudflare Quick Tunnel (trycloudflare.com) | Your app, live from your machine developers.cloudflare.com | No developers.cloudflare.com | Public, unless --allowed-mail is set developers.cloudflare.com | Optional --allowed-mail email one-time PIN (browsers only; change it by restarting cloudflared) developers.cloudflare.com | No; the URL works until cloudflared stops developers.cloudflare.com |
| Gradio share=True | Your Gradio app, live from your machine; gradio.live only proxies it www.gradio.app | Not documented as needing one www.gradio.app | Public: anyone with the link www.gradio.app | Add authentication to your Gradio app yourself www.gradio.app | Expires after 1 week www.gradio.app |
| VS Code port forwarding | Your app, live from your machine, via Microsoft dev tunnels code.visualstudio.com | Yes: GitHub or Microsoft sign-in code.visualstudio.com | Private: visitors sign in with the same GitHub account that forwarded the port code.visualstudio.com | Private is the default; Public ports need no sign-in code.visualstudio.com | URL lifetime not documented in the VS Code guide code.visualstudio.com |
| GitHub Codespaces port forwarding | Your app, live from a cloud dev container docs.github.com | Yes: GitHub docs.github.com | Only you docs.github.com | Private to you, or public to anyone with the URL; organization-only needs GitHub Team or Enterprise Cloud docs.github.com | Not documented docs.github.com |
| Replit development URL | Your app, live in the Replit workspace docs.replit.com | Yes: Replit docs.replit.com | Public: anyone with the URL while you work docs.replit.com | A Private development URL setting requires authentication docs.replit.com | Live only while you work; can change each time you reopen docs.replit.com |
Deploy a copy
| 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 | Yes: the Vercel CLI logs you in first vercel.com | Deployment protection is enabled by default for new projects; check your project settings vercel.com | Vercel Authentication on Hobby; one shareable link per account; password protection is not on Hobby vercel.com | As long as your deployment retention policy keeps it vercel.com |
| Netlify Drop | A deployed copy of your files; logged in, Netlify runs the build docs.netlify.com | No, to drop; you claim the site to keep it docs.netlify.com | Behind a temporary password until you claim it docs.netlify.com | Private projects behind Netlify login; password protection is not on the free plan docs.netlify.com | Not documented for unclaimed drops docs.netlify.com |
| Lovable publish | A snapshot of your project on a lovable.app address docs.lovable.dev | Yes: Lovable docs.lovable.dev | Public by default; invite-only is available on Free docs.lovable.dev | Invite-only on Free and Pro; workspace-wide or group access needs Business or Enterprise docs.lovable.dev | Stays up; a Free project may be unpublished after 12 months with no visits or logins docs.lovable.dev |
| Bolt publish | A published copy on a bolt.host address; later edits need republishing support.bolt.new | Yes: Bolt support.bolt.new | Public, and search engines can list it support.bolt.new | Not on Free: private sites are on paid plans only support.bolt.new | Not documented support.bolt.new |
| Replit publish | A snapshot of your app’s files and dependencies docs.replit.com | Yes: Replit docs.replit.com | Public, for apps in a personal workspace docs.replit.com | Password-protected or private publishing on every plan since May 2026 docs.replit.com | Not documented docs.replit.com |
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.
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.
New to qURL? Start at qurl.link