Why we built a modern ngrok alternative
ngrok is great, but its pricing and closed agent pushed us to build Localport. Here is how they compare and why a transparent client matters for a tunneling tool.
ngrok is the tool that popularised localhost tunneling. Millions of developers use it. We used it ourselves for years. And we kept hitting the same walls.
What pushed us to build something new
Pricing. ngrok's free tier caps you at 1 user, 3 endpoints, and 1 GB of transfer. Their $8/mo Hobbyist tier is still a single user with 5 GB. To add teammates you move to Pay-as-you-go: $20/mo includes 3 users, then $5 per extra user, so a team of five runs about $30/mo in seats alone, before metered endpoint-hours and bandwidth. Localport charges a flat team price: $5/mo for Hobby (5 members, 20 GB), $20/mo for Pro (50 members, 150 GB). Same price whether you invite 1 teammate or 50, which is 4× the bandwidth on Hobby and 30× the included bandwidth on Pro versus the closest ngrok tier. A closed binary on your machine. When a tool tunnels traffic from your machine to the internet, you should be able to read what it does. ngrok's agent is closed source. You trust it based on reputation alone. That's a reasonable choice for many people, but we wanted an alternative for teams who need to actually review what installs. TCP costs extra. TCP tunnels for databases, game servers, and SSH are a paid feature on ngrok. On Localport, HTTP, TCP, and TLS are available on every plan, with mTLS on Pro. No webhook fanout. ngrok routes traffic to one agent at a time. If four developers are debugging Stripe webhooks, only one person sees the payload. Localport's shared tunnels broadcast to every connected teammate at the same time. No URL per device. If you have 20 IoT devices, ngrok needs 20 separate agents and 20 tokens. Localport's mesh tunnels let 20 devices share one token, each with its own URL.Side by side comparison
| Feature | ngrok (free) | ngrok (paid) | Localport (Hobby) | Localport (Pro) |
| Active tunnels | 1 | Unlimited | 5 | 25 |
| TCP tunnels | No | Yes | Included | Included |
| TLS tunnels | No | Yes | Included | Included |
| mTLS (locked tunnels) | No | $20/mo + usage | No | Included |
| Webhook fanout | No | No | Included | Included |
| Mesh (URL per device) | No | No | Included | Included |
| Custom subdomain | No | Yes | Included | Included |
| Agent source visibility | Closed | Closed | On GitHub | On GitHub |
| Price | $0 | $8/user/mo | $5/mo flat | $20/mo flat |
What "agent on GitHub" means in practice
The Localport agent is the binary that runs on your machine and tunnels your traffic. Its source lives on GitHub so you can:
- Read every line that touches your network
- Build the binary from scratch
- Audit the tunnel protocol before it ever connects
- Hand the source to your security team for review
The server-side components (our servers, API, and dashboard) are a managed service. The agent itself is open source under the Apache 2.0 licence, so you can read, build, and audit every line that runs on your machine.
When ngrok is the better choice
We're not claiming Localport beats ngrok in every scenario. ngrok has:
- More regions globally
- A longer track record (they've been around since 2013)
- A built in request inspection UI
- An API gateway product with traffic policies
If you need ngrok's request inspection or API gateway, ngrok is probably the better fit.
When Localport is the better choice
- You need HTTP, TCP, TLS, and mTLS on the same plan, not behind a paywall
- You want to share webhooks with your team (shared tunnels)
- You manage IoT devices and need a URL per device (mesh tunnels)
- You want an agent your security team can actually read
- You're tired of per user pricing
- You operate behind NAT, CGNAT, or a corporate firewall
Not a hostile fork
Try it
curl -fsSL https://localport.io/install.sh | sh
localport http 3000 --token YOUR_TOKEN
Create an account →