meshr vs ngrok: a mesh, not just a tunnel.
ngrok is a fast way to expose one local service through its cloud. meshr gives you a private mesh network — with tunneling as one feature, not the whole product. Here's an honest, feature-by-feature look.
ngrok isn't a mesh VPN.
It's a single-service tunnel/ingress broker. The ngrok agent opens an outbound-only connection to ngrok's cloud edge, which routes public traffic to one local service per tunnel/endpoint — strictly one service at a time, with no mesh, no peer-to-peer connectivity, and no concept of private network membership. meshr is a private mesh network where devices reach each other directly, and exposing a service publicly (tunneling) is one feature of that mesh, not the entire product. The overlap between the two is real for public tunnel exposure, but narrower than "same category."
meshr vs ngrok, side by side.
Grounded in ngrok's own public docs and pricing pages.
| ngrok | meshr | |
|---|---|---|
| Category | Single-service tunnel/ingress broker to ngrok’s cloud edge | Full private mesh network — tunneling is one feature of it |
| Agent | Closed-source ngrok agent | meshr agent |
| Connectivity | Outbound-only tunnel to ngrok’s cloud; one local service per tunnel/endpoint | Mesh-wide device-to-device reachability, plus tunneling |
| Traffic Policy engine | YAML + CEL-expression rules for routing/auth/rate-limiting/transformation at ngrok’s edge | Zero Trust device/group access policies |
| WAF | Built-in, managed OWASP Top 10 rules | Not published |
| Kubernetes | Native Ingress + Gateway API Operator | Not published |
| Custom / wildcard domains | Paid tiers only | DNS-verified with one TXT record, on any DNS provider — no vendor lock-in |
| SSO / RBAC | $10/user/mo add-on on Pay-as-you-go; included at Enterprise | OIDC-based SSO included |
| Free tier | 3 online endpoints, 1GB/mo, 20,000 requests/mo, ngrok-branded domain only, shows visitors an interstitial warning page | Free: 5 users, 50 devices, 2 tunnels |
| Pricing | Free → Hobbyist $8-10/mo → Pay-as-you-go from $20/mo base + metered ($0.10/GB, $1/100k requests) → Enterprise custom | Free tier, then $7/user/mo Pro, $99/mo flat Team (25 users) |
Pricing and feature details as published by ngrok; subject to change on their end.
Where each one actually wins.
Different scope, different strengths — here's where ngrok genuinely has the edge, and where meshr does.
Where meshr wins
- A meshr tunnel is one feature inside a full private mesh network — the same account also gets device-to-device mesh access, SSH, and Zero Trust device policies, none of which ngrok offers at any tier.
- No bandwidth or request metering concern for internal mesh traffic, unlike ngrok’s metered public-tunnel model.
- Custom domains are DNS-verified with one TXT record on any DNS provider — no vendor lock-in and no paid-tier gate.
- meshr’s free tier has no interstitial warning page and no 1GB/20k-request ceiling for tunnel traffic.
Where ngrok wins — honestly
- A purpose-built API-gateway feature set — a CEL-based Traffic Policy engine, managed WAF, and a native Kubernetes Ingress/Gateway API operator — more specialized and mature than meshr’s tunneling if your primary need is a public API gateway/ingress layer rather than private network access.
- A very fast, well-known path for quick one-off demo tunnels, with broad developer mindshare.
Already using ngrok to expose a service?
meshr isn't a full ngrok replacement, so this isn't a rip-and-replace pitch. If your ngrok tunnel is standing in for connectivity you'd rather have on a real private network — reachable by your team without going through a public URL — see how moving that use case to meshr adds mesh-wide access with tunneling included, not metered separately.
curl -fsSL https://get.meshr.to/install.sh | sudo bashmeshr login -t <setup-key>meshr tunnel http 3000 --name my-appmeshr vs ngrok FAQ.
Is meshr a replacement for ngrok?
For quick one-off public tunnels and API-gateway features (Traffic Policy engine, managed WAF, native Kubernetes Ingress), ngrok is more specialized. Where meshr differs is scope: an ngrok tunnel is the entire product, while a meshr tunnel is one feature of a full private mesh network — the same account also gives you device-to-device connectivity, SSH, and Zero Trust policies that ngrok doesn’t offer at any tier.
Does ngrok do mesh networking?
No. ngrok has no mesh, no peer-to-peer connectivity, and no private network membership concept — the agent opens an outbound-only connection to ngrok’s cloud, which routes public traffic to one local service per tunnel/endpoint. It’s strictly one-service-at-a-time exposure.
Are ngrok’s free-tier limits usable for production traffic?
ngrok’s free tier caps at 3 online endpoints and 1GB of data transfer / 20,000 requests per month, with an ngrok-branded domain and an interstitial warning page shown to visitors — tight limits not viable for continuous production traffic without upgrading. meshr’s free tier includes 2 tunnels with no equivalent bandwidth ceiling on internal mesh traffic.
Do I need a paid ngrok plan for custom domains?
Yes — custom and wildcard domains are gated behind ngrok’s paid tiers (Pay-as-you-go and Enterprise). meshr verifies domain ownership with a single DNS TXT record on any plan, and your DNS can stay with any provider.
Is ngrok’s agent open source?
No — the ngrok agent is closed-source, and there’s no self-hosted control-plane option at any published tier. meshr is cloud-hosted today with a self-hosted build on the roadmap.
Get a mesh, with tunneling included.
Start with a free account. No credit card required.
# Get connected and expose a service in 3 commands
$ curl -fsSL https://get.meshr.to/install.sh | sudo bash
$ meshr login -t <setup-key>
$ meshr tunnel http 3000 --name my-app
✓ Connected! IP: 10.0.0.5
✓ DNS: my-server.meshr
✓ Tunnel active: https://my-app-acme.tunnel.meshr.to