Best ngrok Alternatives in 2025: Self-Hosted & Free Localhost Tunnels
ngrok raised prices and added device limits on the free tier. Here are the best alternatives — including free and self-hosted options with no rate limits.
ngrok is the dominant tool for exposing localhost to the internet — useful for webhook testing, sharing dev environments, and demoing work-in-progress apps. But ngrok's free tier is increasingly limited: one online tunnel, rate-limited requests, no custom domains, and recently added device limits.
Here are the best ngrok alternatives in 2025, from free self-hosted options to managed services.
1. Cloudflare Tunnel (Free, Managed)
Cloudflare Tunnel (formerly Argo Tunnel) is arguably the best free ngrok alternative for most use cases. It creates an outbound-only connection from your machine to Cloudflare's edge, with no open inbound ports required.
- Completely free for basic tunneling
- Custom domains on your Cloudflare account at no extra cost
- DDoS protection and WAF included
- Requires a Cloudflare account and DNS managed by Cloudflare
- No rate limits on free tier
# Install cloudflared
brew install cloudflare/cloudflare/cloudflared
# Authenticate and create a tunnel
cloudflared tunnel login
cloudflared tunnel create my-dev-tunnel
cloudflared tunnel route dns my-dev-tunnel dev.yourdomain.com
cloudflared tunnel run --url http://localhost:3000 my-dev-tunnel2. Deployzy Tunnel (Built-in, No Extra Subscription)
If you're already using Deployzy to deploy apps, the localhost tunnel is built in — no separate account or subscription needed. Install the Deployzy CLI and expose any local port in one command.
npx deployzy tunnel 3000
# → https://abc123.deployzy.site- Included in Deployzy's free tier
- Request inspection UI built-in (inspect headers, body, replay requests)
- Persistent subdomains available
- No device or tunnel count limits on paid plans
3. bore (Self-Hosted, Open Source)
bore is a minimal, Rust-based self-hosted tunnel. You run the bore server on any VPS and the bore client locally. It's extremely lightweight (~4 MB binary) and easy to audit.
# On your VPS:
bore server
# Locally:
bore local 3000 --to your-vps-ip.com
# → http://your-vps-ip.com:2000- Open-source (MIT license), no telemetry
- Requires your own VPS
- No HTTPS by default (add Nginx + Certbot for TLS)
- No web UI for request inspection
4. frp (Self-Hosted)
frp (Fast Reverse Proxy) is a mature self-hosted solution from China's open-source community. It supports HTTP, HTTPS, TCP, UDP, and WebSocket tunneling, and has a web dashboard.
- Supports HTTP/HTTPS/TCP/UDP/WebSocket
- Web dashboard for monitoring tunnels
- Requires a VPS + configuration file (frps.toml on server, frpc.toml locally)
- More complex setup than bore
5. Tailscale Funnel (Free, Managed)
Tailscale Funnel exposes a port on your Tailscale node to the public internet. If you already use Tailscale for secure networking, this is zero additional cost.
# Expose port 3000 publicly
tailscale funnel 3000- Free with Tailscale account
- Automatic HTTPS on *.ts.net domain
- Requires Tailscale installed on both client and server
- Limited to 3 funnels on free tier
Which Should You Use?
- Simplest free option with custom domain → Cloudflare Tunnel
- Already using Deployzy for deployment → built-in Deployzy tunnel
- Need full control + privacy → self-host bore or frp on a VPS
- Already in the Tailscale ecosystem → Tailscale Funnel
- Need persistent URLs + request inspection on a budget → Deployzy
Deployzy bundles localhost tunneling with deployment, databases, and domain management. One tool instead of four.
Try Deployzy for free