Skip to main content
Share Localhost

Put your local app on a public URL.

Securely expose a web server on localhost to the internet, even from behind a NAT or firewall, with secure tunnels.

Then, inspect and replay every request in real-time.

Stop context switching and turn “how do I trigger that webhook again?” into a single click to replay.

Traffic inspector showing HTTP request details with one-click replay
Trusted by developers across the globe
  • Calendly
  • Cyera
  • Databricks
  • GitHub
  • Grafana
  • Harvey
  • Hugging Face
  • Mercor
  • Microsoft
  • Okta
  • Open AI
  • Perplexity
  • Ramp
  • Schneider Electric
  • Twilio
  • Vercel
  • Windsurf
  • Zoom
Get started

Get a public URL for your app right now.

ngrok is a standalone executable with zero runtime dependencies that works on every OS.

1

Install the ngrok agent

brew install ngrok
2

Add your authtoken

ngrok config add-authtoken "<YOUR_AUTHTOKEN>"
Don't have an authtoken? Sign up for a free account.
3

Start an endpoint

ngrok http 80
4

Open your URL at https://your-assigned-url.ngrok.app

That’s it! You didn’t need to open ports, provision a TLS certificate, or run your own reverse proxy.

Traffic Policy

Secure your URL with authentication.

Instead of sharing localhost with the whole internet, lock it down to just the people or requests you authorize.

ngrok http 80 --traffic-policy-file policy.yml

policy.yml

1on_http_request:2  # redirect users to Google to log in3  - actions:4      - type: oauth5        config:6          provider: google7 8  # allow logins *only* from acme.com9  - expressions:10      - "!actions.ngrok.oauth.identity.email.endsWith('@acme.com')"11    actions:12      - type: deny
More about Traffic Policy
For teams

Security and control without slowing down your devs.

  • Standardize auth on every endpoint.
  • SIEM logging on every request.
  • ACL controls on what developers can expose.
SOC2 Type II
HIPAA & BAA
GDPR
CCPA
EU-US DPF
RBAC
SSO & SCIM
Audit logs
Data residency
Custom domains

So easy it feels like magic.

Get a public URL for localhost in less time than it took you to read this page. Just like 13 million other devs.

Scott Motte
@motdotla

ngrok is so effing amazing

Peter Vukovic
@pvukovic

Spent 3 hours looking for a good ngrok alternative. Let me save you some time: there isn’t a better ngrok alternative.

Lyzi Diamond
@lyzidiamond

OMG life changer. I can’t imagine how I lived without ngrok.

PS, it can be this easy in prod too...

No need to “upgrade” to a hodgepodge of ELBs, NLBs, firewall rules, DNS updates, nginx configs, and Cloudflare.

Check it out

Frequently asked questions