// concept

ngrok vs Cloudflare Tunnel — when each is the right pick (and where lrok fits)

Updated 2026-05-09

The TL;DR table

ngrok Cloudflare Tunnel lrok
Hosted Yes Yes (Cloudflare DNS required) Yes
Free tier URL rotates each restart Real, with a domain Reserved subdomain on free
Pro pricing $8–25+ tiered + bandwidth bundled with Cloudflare plan $9/mo flat
Custom domain Pro+ Native Pro
TCP tunnels Pro+ Spectrum (paid) Pro
Concurrent tunnels 1 free, more on paid Unlimited 1 free, unlimited Pro
Setup friction None — ngrok http 3000 Auth + cloudflared install + DNS config None — lrok http 3000
Bandwidth metering Yes None None
Interstitial warning page Yes (free) None None

ngrok

The original. Mature dashboard, big team, enterprise features (SOC 2, IP allow-listing, Traffic Policy DSL).

When ngrok wins:

  • You're already paying for it; the integration is sunk-cost.
  • You need enterprise compliance signals.
  • You want the most polished mobile-app inspection experience.

When ngrok hurts:

  • Free tier rotates the URL each restart — webhook providers' configs drift daily.
  • Pricing scales with usage on most plans (bandwidth, requests, edge ops).
  • Interstitial warning page on free tunnels confuses Stripe and similar.

Cloudflare Tunnel

Free tunneling bundled with any Cloudflare-managed domain. Cloudflare's cloudflared agent runs on your laptop or server; traffic flows over the same Cloudflare network that fronts the rest of your services.

When Cloudflare Tunnel wins:

  • You already have a domain on Cloudflare.
  • You want no per-tunnel pricing.
  • You're tunneling a server (not a dev box) and want stable, well-engineered routing.

When Cloudflare Tunnel hurts:

  • DNS must be on Cloudflare. Migrating from another provider is a chore.
  • Setup involves cloudflared install + cloudflared service install + domain routing config + Cloudflare dashboard. ~20 min the first time vs ~30 sec for ngrok / lrok.
  • TCP tunneling requires Spectrum, which is a separate paid product.
  • The dev-loop ergonomics are not a focus — no built-in inspector, no transient subdomains, no quick "share this URL" flow.

lrok

The cheap, focused middle. Reserved subdomain on the free plan; flat $9/mo for Pro with no metering.

When lrok wins:

  • You want a stable URL on the free tier (the ngrok-rotation problem solved at $0/mo).
  • Predictable monthly bill, no usage scaling.
  • No DNS to migrate.
  • Open source-shaped (source published for review even though release binaries are closed).

When lrok loses:

  • Smaller team — no SOC 2, no on-call hotline.
  • Single edge region (Helsinki) — adds 100-180ms RTT from US-East.
  • No Traffic Policy DSL or fancy enterprise routing.

A simple rule for picking

  • Solo dev or small team, want a stable URL on free, fixed monthly cost → lrok.
  • Already on Cloudflare, want bundled tunneling, OK with setup time → Cloudflare Tunnel.
  • Need enterprise features, compliance, or fancy routing, and budget supports it → ngrok.

Try lrok in 30 seconds

$ curl -fsSL https://lrok.io/install.sh | sh
$ lrok login
$ lrok reserve mysite
$ lrok http 3000 --hint mysite

The reservation persists across restarts; the URL is yours until you release it.

lrok vs ngrok in detail · lrok vs Cloudflare · free ngrok alternatives

// shipping?

lrok gives your localhost a public HTTPS URL with a reserved subdomain on the free plan. $9/mo flat for unlimited.

Related