7 min read

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.

Best ngrok Alternatives for Indie Hackers in 2026

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.

Which ngrok alternative should you pick? Decision flowchart. A URL needed for under an hour goes to a Cloudflare Quick Tunnel or Pinggy free, no account. If your domain is on Cloudflare, a named Cloudflare Tunnel is the recommended default. If the machine is already on Tailscale and you expose one service, use Funnel. Otherwise Pinggy Pro at $2.50 a month billed annually gives a persistent URL, and LocalXpose Pro covers many tunnels. NO YES YES NO YES NO Need a public URL for localhost or a home box Needed longer than an hour? Quick Tunnel or Pinggy free one command, no account Domain on Cloudflare DNS? Named Cloudflare Tunnel free, no timeout, your hostname Box on Tailscale, one service? Tailscale Funnel free Personal plan, ts.net URL Pinggy Pro $2.50/mo annual, 1 persistent URL LEGEND Decision Outcome Recommended default Many tunnels: LocalXpose Pro $8/mo

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.

Found this useful? Follow @devtoolpicks on X for more honest tool comparisons.
Share: X/Twitter | LinkedIn |

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.