Dev tunnels, in detail
Exposing a local port to the internet is a solved problem with seven different price tags. The split that matters: throwaway URLs for a quick demo versus permanent, access-controlled tunnels on your own domain. Free-tier fine print (interstitial pages, bandwidth caps, rotating subdomains) decides most of these choices.
| Tool | Free tier | Entry price | Billing unit | Watch out for | Best for |
|---|---|---|---|---|---|
| ngrok | 3 endpoints, 1 GB, 20k req/mo + interstitial page | Hobbyist $8/mo (annual) | Flat plan + usage caps | 2025 shift to usage-based billing put hard caps on free tunnels | Webhook testing with request inspection and replay |
| Cloudflare Tunnel | Unlimited named tunnels | $0 | Free (domain on CF DNS) | Requires moving your domain's DNS to Cloudflare | Permanent production-grade tunnels on your own domain |
| Buddy Tunnels | Included in the free plan | Bundled (Pro €29/mo) | Part of the platform plan | Tied to the Buddy platform — not a standalone product | OAuth/SAML-gated tunnels from the same CLI as your pipelines |
| Tailscale Funnel | Personal free (6 users, unlimited devices) | Standard $8/user/mo | Per user | Funnel serves only ports 443/8443/10000 on *.ts.net | Sharing services from an existing tailnet |
| MS Dev Tunnels | ~10 tunnels, daily bandwidth cap | $0 | Free with MS/GitHub account | Auth-gated by default — anonymous access is opt-in | VS Code users; port forwarding built into the IDE |
| localhost.run | Free SSH tunnels, rotating subdomains | Custom domain ~$3.50/mo | Flat | Rotating URLs on free — links die between sessions | Zero-install demos: one ssh command, nothing to install |
| localtunnel | Free OSS (npx localtunnel) | $0 | Free | Effectively unmaintained; interstitial asks visitors for your public IP | Throwaway links in a pinch — not for client demos |
Pricing models and free tiers change often — check each vendor for current terms. Compiled July 2026; the most volatile figures verified on official pricing pages.
Official pages: ngrok · Cloudflare Tunnel · Tailscale Funnel · MS Dev Tunnels · localhost.run · localtunnel
Entry price at a glance
Cheapest paid plan, USD per month — per-user plans shown for a single seat. Hatched bars are usage-based or quote-only; values marked ~ are approximate.
Notes & recent changes
- ngrok's free tier shows an interstitial warning page to visitors and stops serving when the monthly usage caps run out; the $8/mo Hobbyist plan removes the interstitial.
- Cloudflare quick tunnels (trycloudflare.com) need no account at all — the named-tunnel product needs your domain on Cloudflare DNS.
- localtunnel's anti-abuse interstitial requires visitors to enter your public IP as a password, which makes it unusable for anything client-facing.
Which one should you pick?
- Debugging webhooks and want to inspect/replay requests → ngrok.
- A permanent tunnel on your own domain for $0 → Cloudflare Tunnel.
- Your team already runs Tailscale → Funnel; already on Buddy → Buddy Tunnels.
- One-off demo with zero installs → localhost.run.