ngrok alternatives for sharing work with clients
Free and paid ngrok alternatives compared on what a client sees: warning pages, passwords, stable links and price, with a source and date for each.
By Mads Sauer, who makes ouicu, one of the tools here, so read it as a maker's comparison: each fact about another product links to that product's own page, read on . Published .
The best ngrok alternative depends on the job. For webhooks, Hookdeck; for TCP and UDP, Pinggy, zrok or LocalXpose; to run the server yourself, zrok, Expose or Tunnelmole; free on your own domain, Cloudflare Tunnel; private to your team, Tailscale or dev tunnels; and for showing a client a site, ouicu, LocalCan or Smuggl.
The short answer: best for each job
| Job | Try | Because |
|---|---|---|
| Webhooks and APIs | Hookdeck | Its CLI forwards webhooks to localhost from a permanent URL, free for development |
| TCP, UDP and games | Pinggy | HTTP(S), TCP, UDP and TLS |
| Your own server | zrok | Yes, Apache-2.0, and you can host it yourself |
| Your own domain, free | Cloudflare Tunnel | Cloudflare Access sign-in, free up to 50 users |
| Only your team | Microsoft dev tunnels | Private by default; or anyone, your Entra tenant or a GitHub organization |
| A client opens it | ouicu | Password from Hobby, $4 a month, and no warning page |
What changed at ngrok
People look for alternatives when a plan changes under them. The free plan has shown visitors a warning page since June 2022 (what it is and how to skip it). The paid plans were renamed and repriced, says a price tracker, and ngrok has changed some usage prices since, says its blog:
- On 22 September 2025, Personal ($10), Pro ($25) and Pay-as-you-go ($18) became Hobbyist ($10) and Pay-as-you-go ($20).
- Traffic Policy units fell from $1 to $0.10 per 100k from 22 June 2026.
- From 29 June 2026, custom domains cost $0.01 an hour, only in hours with traffic.
The free plan itself stayed generous: 1 GB out and 20,000 HTTP requests a month, up to 3 online endpoints, with no timeout.
Compared
As of , from each product's own pages (listed under Sources). Prices in US dollars.
| Paid from | Free plan | Warning page on free | Passwords and sign-in | Same link each time | |
|---|---|---|---|---|---|
| ngrok | Hobbyist, $10 a month | 1 GB out and 20,000 HTTP requests a month, up to 3 online endpoints | Yes, on HTML browser traffic; after Visit, a cookie hides it for 7 days | OAuth, OpenID Connect, SAML or basic auth | 1 stable dev domain, on Free too |
| Pinggy | Pro, $3 a seat a month, or $2.50 billed yearly | 60-minute tunnels, unlimited data | Yes, once per browser; none on Pro | Basic auth with a username and password | A new random name after each restart on Free |
| zrok | No public price; NetFoundry sells commercial plans | 5 GB a day, 50 shares | Yes, on free accounts; adding a card removes it | Not stated | Reserved shares keep a name |
| LocalXpose | PRO, $8 a month billed yearly ($96) | 2 HTTP(S) tunnels, with time limits | Yes, on the free plan | Basic auth, key auth and IP allowlists on every plan | Not stated |
| Expose | Pro, $79 a user a year | A time limit, random URLs, one EU server | Not stated | Access control on Pro | Persistent URLs and custom domains on Pro |
| Tunnelmole | Essential, $9.99 a month | No signup | Not stated | Not stated | Not stated |
| Cloudflare Tunnel | Free: Tunnel is on every plan | Quick Tunnels: 200 requests in flight, then 429 | None in the Quick Tunnel docs' list of limits | Cloudflare Access sign-in, free up to 50 users | Quick Tunnels: a new name each run |
| Tailscale Funnel | Free for up to 6 users; Standard $8 a user a month | On every plan; bandwidth limits that can't be changed | Not stated | None for visitors: a Funnel port is public | A stable name, on your tailnet's ts.net domain only |
| Microsoft dev tunnels | No price listed; in public preview, without an SLA | 5 GB a month, 10 tunnels, up to 20 MB/s | “When connecting to a web-forwarding url for the first time, users are presented with an interstitial anti-phishing page.” | Private by default; or anyone, your Entra tenant or a GitHub organization | Not stated |
| LocalCan | Solo, $8 a month | 1 live link, 60-minute sessions, 1 GB a month | Not stated | Password, secret link and IP rules, from Solo | Snapshots: a copy that stays up with the laptop off |
| ouicu | Hobby, $4 a month | 1 share at a time, 2 hours each, 1 GB a month | Yes, a notice on page loads, once a week per browser and share; none on Hobby and Pro | Password on Hobby and Pro; invited emails on Pro | Reserved names on Hobby and Pro |
Webhooks and APIs
This is ngrok's home ground, with request replay and 500 webhook verifications a month on Free. Hookdeck's CLI is built for it alone:
“Hookdeck for development is completely free”
Pinggy offers request inspection and replay on Free. ouicu passes webhooks through on every plan, without its notice (unless the link has a password), and shows each request in your terminal, but it keeps only the last 50 and can't replay them. For webhook work, pick one of the others.
TCP, UDP and games
- Pinggy: HTTP(S), TCP, UDP and TLS, from Pro, $3 a seat a month, or $2.50 billed yearly.
- zrok: HTTP, TCP and UDP, 5 GB a day, 50 shares free.
- LocalXpose: HTTP(S), TCP, TLS and UDP on PRO. Its price: PRO, $8 a month billed yearly ($96).
ouicu carries HTTP and WebSockets only, so it can't share SSH, a database or a game server.
Open source and self-hosting
- zrok: yes, Apache-2.0, and you can host it yourself.
- Expose: yes, MIT, with your own server. Laravel Herd shares sites through it, and its hosted plans start at Pro, $79 a user a year (team, $229 a year for up to 10 users).
- Tunnelmole: yes, an MIT client and an AGPL-3.0 server you can host. Its free hosted addresses come with a catch: free addresses carry an IP address, like
evgtkh-ip-49-145-166-122.tunnelmole.net.
ouicu is a hosted service. Its command line tool is closed source; the MCP server and the Node SDK on npm are MIT.
Free, on your own domain
Cloudflare Tunnel costs nothing (free: Tunnel is on every plan), and you get Cloudflare Access sign-in, free up to 50 users. It wants your domain's DNS on Cloudflare; Cloudflare Tunnel vs ouicu has the details.
Only your team
- Microsoft dev tunnels: private by default; or anyone, your Entra tenant or a GitHub organization.
- Tailscale Funnel goes the other way. You get a stable name, on your tailnet's ts.net domain only; as for sign-in, none for visitors: a Funnel port is public. Funnel is in beta.
Showing clients
A client is not a developer. They open a link once, on a phone, and shouldn't meet a warning page, a sign-in or a password that is your IP address.
ouicu
- A password with Hobby and Pro, or invited email addresses with Pro, and no visitor account.
- An email when someone opens the link, with Hobby and Pro.
- The last version stays up while your laptop sleeps, with Hobby and Pro; or upload the build with
ouicu deploy.
LocalCan
The closest to ouicu. Snapshots: a copy that stays up with the laptop off, with comments on snapshots, from Solo. It is a desktop app and CLI for Mac, Windows and Linux, with an MCP server for coding agents, on Free, and traffic inspection and replay, on Free. Paid plans start at Solo, $8 a month.
Smuggl
“Every request pauses at the server. You see the visitor's IP and path, then allow or block.”
Free: 5-minute sessions, 5 MB a session; Pro: $12 once, for life.
Where ouicu doesn't fit
- TCP or UDP: SSH, databases, games.
- Webhook development: no replay, and only the last 50 requests kept.
- Self-hosting: the service and its tool aren't open source.
- A stable free link: Free draws a random name each time, and a share runs 2 hours.
- Video, audio, PDFs, downloads, and responses over 50 MB.
Where ngrok is better
- Free endpoints have no timeout.
- 1 stable dev domain, on Free too.
- A Traffic Inspector that replays any captured request.
- HTTP and TCP; TLS from Pay-as-you-go.
- 500 webhook verifications a month on Free.
- OAuth, OpenID Connect, SAML or basic auth.
Questions people ask
Is there a free alternative to ngrok?
Several: Cloudflare Quick Tunnels need no account, Pinggy and zrok have free plans, and localtunnel and Tunnelmole are open source. Each free plan gives up something: a stable name, time, or a page without a warning.
Is zrok better than ngrok?
For self-hosting and UDP, yes: its server is open source and yours to run. For a stable free address and request replay, ngrok.
Which is better, Nginx or ngrok?
They do different jobs. Nginx is a web server you run on a server of your own. ngrok gives a program on your laptop a public address.
What is better than ngrok for clients?
A tool with no warning page and a password on the link: ouicu from Hobby, $4 a month, or Pro at $15 for invite lists.
Try ouicu
Install it (Getting started), then share your dev server:
ouicu share 3000Or upload the build under a name you keep, with a password (Hobby and Pro):
ouicu deploy ./dist --name acme --passwordThe pricing lists every plan.
Sources
Prices, defaults and quotes about other products, and the day each was last checked at its source.
- hookdeck/hookdeck-cli, Hookdeck on GitHub. Checked .
- Simple Localhost Tunnels, Pinggy. Checked .
- zrok Pricing, zrok. Checked .
- Access: pricing, Cloudflare. Checked .
- Dev tunnels security, Microsoft Learn. Checked .
- Fighting Abuse on the ngrok Platform, ngrok blog. Checked .
- ngrok Pricing Changes, PriceTimeline, a price tracker. Checked .
- Traffic Policy is now 10x cheaper, and idle custom domains are free, ngrok blog. Checked .
- Free plan limits, ngrok docs. Checked .
- Pricing, ngrok. Checked .
- Authentication, ngrok docs. Checked .
- Domains, ngrok docs. Checked .
- Browser Screening Page, Pinggy docs. Checked .
- Basic Authentication with HTTP Tunnel, Pinggy docs. Checked .
- Pricing Plans, LocalXpose. Checked .
- Share local sites via secure tunnels with Expose, Expose. Checked .
- Tunnelmole Dashboard, Tunnelmole. Checked .
- Instant public URLs for your local server, Tunnelmole. Checked .
- Cloudflare Tunnel, Cloudflare docs. Checked .
- Quick Tunnels, Cloudflare docs. Checked .
- Pricing, Tailscale. Checked .
- Tailscale Funnel, Tailscale docs. Checked .
- What are dev tunnels?, Microsoft Learn. Checked .
- Azure subscription and service limits: dev tunnels, Microsoft Learn. Checked .
- Pricing, LocalCan. Checked .
- exposedev/expose, Expose on GitHub. Checked .
- Sharing Sites, Laravel Herd docs. Checked .
- robbie-cahill/tunnelmole-service, Tunnelmole on GitHub. Checked .
- Documentation, Tunnelmole. Checked .
- Share your localhost as an invite only link, Smuggl. Checked .
- Inspect Traffic and Replay Requests, ngrok docs. Checked .