Port Zero vs. ngrok

Port Zero and ngrok overlap: both give a local process a stable URL you can share. They start from different problems, though, and they charge for the result in different ways. This page lays out the differences plainly. ngrok’s pricing and features change often — the notes here reflect publicly available information as of July 2026, so check ngrok.com for their current terms before you decide.

They solve different problems first

ngrok is internet-first. It exists to expose a local port to the public internet through its edge. It assumes you already have a working local port and does not manage what happens on your own machine.

Port Zero is machine-first. It starts by fixing local port conflicts: bind every port to 0, let the OS pick a free one, and Port Zero routes a stable name to it — no EADDRINUSE, no port to remember, two branches in two worktrees running at once without collision. See How it works. That same name becomes an internet URL when you point it at *.tunnel.portzero.cloud; the local and public paths are one workflow, not two tools.

So the first thing Port Zero does — stable local names, no port bookkeeping — is not something ngrok offers at all. If local port conflicts are your pain, that difference matters more than anything below.

Free forever, no account, open source

Port Zero Local — the daemon you install on your machine that gives processes stable names and fixes port conflicts — is free forever, needs no account, and is open source under the GPLv3. It runs entirely on your machine: no sign-up, nothing phoning home, usable fully offline. Only Cloud tunnels, which reach your machine from the internet, require an account and a subscription.

ngrok is a proprietary hosted service. As of July 2026, even its free plan requires creating an account and configuring an authtoken before the agent will connect, and the service itself is not open source. There is no account-free, source-available local mode to compare against — running ngrok means running against ngrok’s servers with an ngrok account.

Pricing model

This is the deliberate split. Port Zero is flat; ngrok’s published plans are usage- and seat-metered (bandwidth, endpoints, and per-seat charges).

Port Zero’s plans (see the pricing page for the current list):

PlanPriceWhat you get
Free$0, no accountUnlimited local tunnels, open source. No cloud tunnels.
Professional$49/mo or $490/yrUnlimited cloud tunnels, generous bandwidth and requests (fair use applies), visitor auth. Flat rate, no metering.
Team$149/mo or $1490/yrEverything in Professional, unlimited members — no per-seat charge — team subdomains and policies.

The practical difference: with Port Zero a busy month costs the same as a quiet one, and adding a teammate does not add to the bill. With a metered model, cost tracks usage and headcount. Which is cheaper depends on your traffic and team size — run your own numbers against ngrok’s current rates.

Where they line up

Several things both tools do, so they are not reasons to switch either way:

  • Public HTTPS with automatic TLS on a shared domain.
  • Custom domains. Port Zero verifies ownership by CNAME without ever taking your DNS credentials (see Cloud tunnels); ngrok supports custom domains on paid plans. Port Zero’s are still rolling out and are off by default — email support@portzero.net to have them switched on.
  • Any TCP protocol, not just HTTP.
  • A CLI and scriptable readiness checks for CI (portzero url, portzero wait; see Cloud tunnels).

Comments on the tunneled app

ngrok gives you a URL; what reviewers do with it from there is up to you. Port Zero adds a feedback widget directly on *.tunnel.portzero.cloud pages: a reviewer pins a comment to an exact spot on the running app, and Port Zero captures a screenshot of their browser state and threads it as PZ-42. Running portzero review from your branch uploads its commit list and diff next to those threads, and a commit message like Fixes PZ-42 proposes a resolution — the original commenter or a teammate still has to confirm it. See Review records.

ngrok has no built-in equivalent: it exposes the port and stops there. Teams that want pinned, threaded feedback on an ngrok tunnel reach for a separate tool (Marker.io, BugHerd, and similar) layered on top.

When ngrok is the better fit

We would rather you pick the right tool than the wrong one:

  • You need ngrok’s edge feature set. ngrok offers a broad set of edge features — traffic policy, edge OAuth and webhook verification, a Kubernetes ingress operator, and a large global point-of-presence footprint. If you depend on those specific capabilities, ngrok covers more of them today.
  • You only expose a port occasionally and never approach a metered limit. A free or low tier of either tool may be all you need, and Port Zero’s cloud tunnels start at the Professional plan.

If, on the other hand, your day is spent fighting local port collisions, you want one predictable bill regardless of traffic, or you are adding teammates and do not want per-seat pricing, that is the ground Port Zero was built for.

Trying it

Local tunnels are free and need no account, so you can feel the port-conflict fix before spending anything — see Getting started. Cloud tunnels begin on the Professional plan.


ngrok is a trademark of its respective owner. Port Zero is not affiliated with, endorsed by, or sponsored by ngrok. Comparisons here reflect publicly available information and our own product as of July 2026; ngrok’s pricing and features may have changed since — confirm the current details at ngrok.com.