Skip to content
PortBay
Comparison

PortBayvsngrok

ngrok and PortBay both put a local site on a public URL; the meter is the difference. ngrok's free plan caps you at 1 GB of transfer and 20,000 HTTP requests per month across 3 endpoints, and every browser visitor sees an interstitial warning page before your site loads. Removing that page starts at 8 dollars per month on Hobbyist; custom domains wait for the 20 dollar Pay-as-you-go plan. PortBay bundles Cloudflare quick tunnels: one click on a project row, no account, no usage meter, no interstitial, proxying the same https .test site you develop on. The honest trade: PortBay's free tunnel URL is a random trycloudflare.com subdomain that changes each session, while ngrok's free plan includes one assigned dev domain. A stable PortBay hostname is Pro, 10 dollars per month or free with a merged qualifying pull request (last verified July 2026).

PortBay vs ngrok comparison page.
The short answer

Which one is right for you

Pick PortBay if

You want the full stack, open source.

You share work in progress: a client demo, a webhook test, a phone check on a real device. You want the tunnel one click away from the project it serves, with no account, no interstitial page for visitors, and no monthly GB or request meter. You also get the rest of the local environment in the same app: https .test domains, seven database engines, mail capture, and an agent task board.

Stick with ngrok if

It already fits your workflow.

You run tunnels as production infrastructure: an API gateway, OAuth or SSO in front of an endpoint, custom and wildcard domains, TCP tunnels to non-HTTP services, or traffic policies with replay across a team. ngrok is built for that edge role, and it runs anywhere — including Windows, which PortBay does not support.

Where PortBay and ngrok actually differ

The table below has the row-by-row detail. These are the three shapes it cannot draw: the job you already use one of them for, the job only one of them does, and what survives the move.

Both run your sites

PortBay and ngrok overlap on the everyday job: a local site on a real domain, over HTTPS, with the services it needs. If that is all you need, either will do it.

Only one dispatches agents

Move a card to To Do and PortBay launches Claude Code, Codex or Cursor against a project that is already running. ngrok has no board to dispatch from.

Switching keeps your projects

Point PortBay at the folders you already have. They stay where they are, .test domains are re-issued on the first run, and databases are imported rather than rebuilt.

The detail

Feature by feature

ngrok rows come from ngrok’s own site and docs, on the date below. PortBay rows come from the app’s source. We mark partial support honestly — including where the other side wins.

Feature
PortBay
ngrok
Pricing & metering
Free-tier usage meter
No usage meter
1 GB, 20k requests/mo
ngrok's free plan meters 1 GB data transfer and 20,000 HTTP requests per month; PortBay's bundled Cloudflare quick tunnels have no meter in the app.
Interstitial warning page
Never shown
On free browser traffic
ngrok injects a browser warning page on free-plan HTML traffic; visitors click through and get a 7-day cookie.
Paid tier
$10/mo Pro
$8-10; $20 + usage
Open source
Yes; AGPL-3.0
Hosted, closed platform
Domains & URLs
Free hostname
Random per session
1 assigned dev domain
PortBay's free tunnels get a random trycloudflare.com subdomain per session; ngrok's free plan assigns one dev domain that stays yours.
Stable custom hostname
Pro feature
Pay-as-you-go, $20/mo
Wildcard domains
Not offered
Pay-as-you-go plan
The dev loop around the tunnel
Local HTTPS on real domains
Automatic https .test
Cloud edge only
PortBay serves every project at an https .test hostname via Caddy and mkcert; the tunnel proxies that same site.
Managed databases
7 engines, per project
Not offered
Mail capture
Mailpit, built in
Not offered
Agent task board
Free, per project
Not offered
Every PortBay project gets a Kanban board that dispatches your installed coding agents; cards are Markdown files in the repo.
Edge & security features
OAuth in front of a tunnel
Not offered
Google, GitHub, more
ngrok's OAuth traffic-policy action gates an endpoint behind Google, GitHub, Microsoft, and other providers. It is available on every tier, but the free plan includes only 3 monthly active users; Hobbyist raises that to 5 and Pay-as-you-go charges $1 per user beyond.
TCP tunnels
HTTP(S) projects only
Yes; 5k conns/mo free
ngrok's free plan allows 5,000 TCP connections a month on randomly assigned addresses, and requires credit-card verification to use them. A reserved TCP address starts on Hobbyist (1 address); Pay-as-you-go raises it to 100. PortBay tunnels HTTP(S) projects only.
Request inspector
Built in, with replay
Built in
Accounts & platforms
Account required to share
No account needed
Sign-up, 3 endpoints
Operating systems
macOS (ARM + Intel), Linux
macOS, Windows, Linux
Free perpetual license
Merged PR or sponsor
Not offered
PortBay grants a free perpetual Pro license for a merged qualifying pull request or GitHub sponsorship.

ngrok facts on this page were last checked against ngrok.com/pricing on . Pricing and limits change — check their site before you decide.

Migration

Coming from ngrok

There is nothing to export: tunnels are stateless. Add your project to PortBay, open the Tunnels view, and click Share publicly on the project row. The bundled cloudflared sidecar connects and prints a public trycloudflare.com URL in a few seconds, proxying the same https .test site you develop on; no account, no interstitial for visitors, no monthly meter. Keep your ngrok account for production edge work; drop it for the daily share-a-demo loop. If you need a URL that survives restarts, the stable hostname is a Pro feature.

ngrok
1

Add your project to PortBay; it gets an https .test domain through Caddy.

2

Open Tunnels and click Share publicly. The public URL appears in a few seconds; copy it.

3

Click Stop sharing when done. The URL dies with the session; nothing keeps listening.

PortBay
Common questions

PortBay vs ngrok, in plain terms

For sharing local sites, yes. PortBay bundles cloudflared and starts a Cloudflare quick tunnel with one click: no account, no interstitial warning page, and no monthly bandwidth or request meter. ngrok's free plan caps usage at 1 GB and 20,000 HTTP requests per month and shows visitors a warning page. For production edge features such as OAuth, custom domains, and traffic policies, ngrok is the deeper tool.

No. Cloudflare quick tunnels serve your site directly, so a client opening your demo link sees the site, not a click-through notice. On ngrok's free plan, browser traffic gets an interstitial page that warns visitors they are about to visit an ngrok-served site; clicking through sets a 7-day cookie. Removing it requires the Hobbyist plan at $8 to $10 per month.

PortBay imposes no meter: no GB counter, no monthly request quota, and no billing when a demo gets busy. The tunnels run over Cloudflare's free quick-tunnel tier and are meant for development sharing, not production hosting. ngrok's free plan meters 1 GB of data transfer and 20,000 HTTP requests per month, then asks you to upgrade.

On the free tier, no: each tunnel session gets a random trycloudflare.com subdomain, and the URL dies when you stop sharing. A stable custom tunnel hostname is a PortBay Pro feature at $10 per month, or free for life with a merged qualifying pull request. Note the honest flip side: ngrok's free plan includes one assigned dev domain that persists across sessions.

No. PortBay tunnels are open URLs intended for short-lived demos and webhook tests; there is no built-in identity gate. ngrok's OAuth traffic-policy action can require a Google, GitHub, or Microsoft login before a request reaches your endpoint. If you expose internal tools to real users through a tunnel, that feature is a reason to keep ngrok.

PortBay mascot — a friendly blue tugboat

Give your projects and your agents a real local home.

Download for macOS

Free & open source · macOS 11+ on Apple Silicon · Pro from $10/mo