Best ngrok Alternatives for Indie Hackers in 2026
ngrok charges $20 a month before you can use your own domain. These five tunnels cover webhooks, client demos and permanent exposure, most of them for free.
ngrok is still the name everyone types. It's also $20 a month before you're allowed to use your own domain, the free tier puts an interstitial page in front of every visitor, and it caps you at 3 endpoints, 1 GB and 20,000 requests. For a webhook test that's fine. For a client demo with a warning page on it, or a home server you want reachable all month, it isn't.
Cloudflare's Quick Tunnels hit the Hacker News front page again this week, and the thread doubled as a live comparison of everything below. Prices and limits here were checked on September 19, 2026.
Quick Verdict
| Tool | Best for | Price | Rating |
|---|---|---|---|
| Cloudflare Tunnel | Anything on your own domain, permanent | Free on Zero Trust Free | 4.5/5 |
| Tailscale Funnel | One service on a home box | Free on Personal, up to 6 users | 4/5 |
| Pinggy | Cheapest persistent URL, TCP and UDP | Free, Pro $2.50/month billed annually | 4/5 |
| LocalXpose | UDP and many tunnels, flat price | Free, Pro $8/month | 3.5/5 |
| zrok | Open source, self-host with no limits | Free hosted tier, Apache 2.0 | 4/5 |
What Are You Actually Tunnelling?
Three jobs hide behind "I need an ngrok alternative". A one-off webhook test wants zero setup and doesn't care if the URL dies in an hour. A client demo wants a clean URL with no warning page. A home server wants a permanent address on a domain you own, with no timeout. Pick the job first.
Cloudflare Tunnel
Cloudflare Tunnel comes in two flavours. Quick Tunnels run with one cloudflared command, need no account, and hand you a random trycloudflare.com URL. A named tunnel needs your domain on Cloudflare DNS and a Zero Trust account, which is $0 forever for teams under 50 users, and then it's a permanent hostname with Cloudflare's edge in front of it and no timeout.
Quick Tunnels have limits Cloudflare states plainly. Testing and development only, 200 in-flight requests before you get a 429, and no Server-Sent Events. The ngrok founder said in the HN thread that ngrok dropped anonymous tunnels because they were its biggest abuse source. Cloudflare's anonymous URLs carry the same risk.
Who shouldn't use it: anyone whose domain isn't on Cloudflare and doesn't want it there. And anyone who needs raw TCP or UDP without installing a client on the other end.
Pick this if you own a domain and want the permanent, free answer.
Tailscale Funnel
Tailscale Funnel takes a service on a machine in your tailnet and puts it on the public internet at your-tailnet.ts.net, with HTTPS certificates created for you. It's on every plan, including the free Personal plan for up to 6 users, and the next tier is $8 per user a month.
The constraints are specific. Funnel only listens on ports 443, 8443 and 10000, the hostname has to be on your ts.net domain, and Tailscale applies a bandwidth cap it doesn't publish. So it's a way to expose one or two things, not a hosting layer.
Who shouldn't use it: anyone who needs a custom domain or expects real traffic. The Tailscale alternatives post covers what to run instead if the mesh itself isn't a fit.
Pick this if you already use Tailscale and want to share one service from a home box without touching DNS.
Pinggy
Pinggy is the zero-install option. It runs over SSH, so ssh -p 443 -R0:localhost:3000 free.pinggy.io gets you a public URL with no binary to download. The free tier has HTTP, TCP, UDP and TLS tunnels, request inspection and unlimited data transfer, with a 60 minute timeout and a random subdomain. Pro is $2.50 a month billed annually for one persistent tunnel, one custom domain and one persistent TCP or UDP port.
Who shouldn't use it: anyone who needs several persistent tunnels. Pro is priced per seat with one persistent tunnel each, and unlimited tunnels sit on the enterprise plan.
Pick this if you test webhooks often and want the cheapest URL that never changes.
LocalXpose
LocalXpose is the one to look at when Pinggy's single-tunnel Pro plan runs out. The free Starter tier gives you 2 HTTP tunnels with time limits and an interstitial page. Pro is $8 a month, or $96 a year, for 10 tunnels covering HTTP, TCP, TLS and UDP, custom domains, wildcard tunnels with automatic certificates, and unlimited bandwidth.
Who shouldn't use it: anyone who only needs one tunnel, because Pinggy does that for less, and anyone with a domain already on Cloudflare, where the named tunnel is free.
Pick this if you run several services and want them all on your domains for one flat price.
zrok
zrok is the open source pick, built on OpenZiti and licensed Apache 2.0. The hosted free tier is $0 with 5 GB a day of bandwidth, 25 environments and 50 share backends, with an interstitial on unverified accounts that disappears once you add a payment method. Self-hosting has no limits at all. It also does private shares, where only another zrok user can reach the service.
Who shouldn't use it: anyone who wants a polished dashboard and a one-line install. There's more to learn than with Pinggy, and the paid hosted tiers are a sales conversation rather than a price on a page.
Pick this if you'd rather own the tunnel server than rent one.
How Should You Choose?
For a one-off webhook or a quick "look at this" link, run a Cloudflare Quick Tunnel or Pinggy and don't create an account for anything. For daily webhook testing, Pinggy Pro. For a permanent public address on your own domain, put the domain on Cloudflare and use a named tunnel. If you already run Coolify or another self-hosted panel, that tunnel is how you skip opening ports. For one service on a home machine you already have on Tailscale, Funnel. For a stack you want to own end to end, zrok on your own server, or bore and frp if you want something smaller.
Final Recommendation
Cloudflare Tunnel for anyone with a domain, because free with no timeout on your own hostname is the thing ngrok charges $20 a month for. Pinggy when you want that without moving DNS, for $2.50 a month.
Found a better option? Let me know on Twitter @devtoolpicks.
Frequently Asked Questions
Is there a free alternative to ngrok?
Yes, several. Cloudflare Quick Tunnels give you a public HTTPS URL with one command and no account. A named Cloudflare Tunnel is free on the Zero Trust Free plan once your domain is on Cloudflare DNS. Tailscale Funnel is included in the free Personal plan. Pinggy and LocalXpose have free tiers with time limits, and zrok is free to self-host under Apache 2.0.
How much does ngrok cost in 2026?
Checked September 19, 2026. Free gives you up to 3 online endpoints, 1 GB of data transfer and 20,000 HTTP requests, with an interstitial page on public endpoints. Hobbyist is $10 a month for 5 GB and 100,000 requests without the interstitial. Pay-as-you-go is $20 a month plus usage, and it is the first tier that allows a custom domain, billed at $0.01 per active hour.
What are the limits of Cloudflare Quick Tunnels?
Cloudflare documents Quick Tunnels as testing and development only. They cap at 200 in-flight requests and return HTTP 429 above that, they do not support Server-Sent Events, and the trycloudflare.com subdomain is random and temporary. A named Cloudflare Tunnel on your own domain removes those limits and is still free on the Zero Trust Free plan.
Is Tailscale Funnel a good ngrok replacement?
For exposing one service on a machine you own, yes. Funnel is included on every Tailscale plan, including the free Personal plan, and gives you a stable HTTPS URL on your tailnet-name.ts.net domain with certificates handled for you. It only listens on ports 443, 8443 and 10000, you cannot use your own domain, and bandwidth is capped at a level Tailscale does not publish.
Which ngrok alternative is best for testing Stripe webhooks?
Pinggy or a Cloudflare Quick Tunnel for a one-off session, since both start with a single command and need no configuration. If you test webhooks every day, pay Pinggy $2.50 a month billed annually for one persistent URL, so you stop updating the endpoint in the Stripe dashboard. The Stripe CLI can also forward events to localhost without any tunnel, which is worth trying first.
Get honest tool comparisons in your inbox
Join 50+ indie hackers and solo developers who get new comparisons, pricing changes, and tool picks. No spam. Unsubscribe anytime.
Related Articles
When to Use Per-Token Inference vs Renting a GPU by the Hour
A dedicated H100 costs about $53 a day. That buys 165 million output tokens on a...
Best Tailwind Plus Alternatives for Indie Hackers in 2026
Tailwind Plus stopped taking new customers on September 9, 2026. Here is where t...
When to Use LiteLLM Self-Hosted vs a Managed AI Gateway
ChatGPT, Claude and Grok all went down on the same morning. A gateway is how you...