tunnels for developers

All your localhost. One public URL.

The fastest way to put your local dev server, API or webhook on the internet — secured, observable, and one command away.

terminal
$ npx localhostforonline --port 3000

No DNS · No TLS setup · No account required to start

built for real projects

Two things every tunnel should have.

Most tunnels give you a random URL and a bandwidth meter. We don't.

Permanent subdomains

Your subdomain. Yours forever.

Pick the name once and keep it for as long as your account exists. No random hashes, no rotating URLs every time you restart the CLI. The link you share today still works next year.

  • Choose your own name — not auto-generated
  • Stays attached to your account, not the session
  • Same URL across reboots, restarts and deploys
Manage subdomains
Unlimited bandwidth

No data caps. No throttling.

Stream video, push gigabytes through webhooks, demo heavy assets — we don't meter your traffic. Use the tunnel as hard as you need, on any plan, without surprise bills or slowdowns.

  • Unlimited transfer in and out
  • No per-request or per-GB billing
  • Same speed at request #1 and request #1,000,000
simple pricing

One plan. Everything you need.

No per-request billing. No hidden fees. Unlimited tunnels, unlimited bandwidth.

Free

For quick experiments

$0/month
  • Up to 3 subdomains
  • Unlimited tunnels
  • Unlimited bandwidth
  • Live request inspector
Get started
Popular

Pro

For serious projects

$9.90/month
  • Unlimited subdomains
  • Unlimited tunnels
  • Unlimited bandwidth
  • Live request inspector
  • Priority support
Upgrade now

Works with any stack.

If it speaks HTTP on a port, it works. No SDK. No code changes.

Node.jsNext.jsViteRemixAstroDjangoFlaskFastAPIRailsLaravelGoRustStripeTwilioGitHubSlack
any stack
 npx localhostforonline --port 3000     # Node, Next, Vite
npx localhostforonline --port 8000     # Django, FastAPI
npx localhostforonline --port 4000     # Phoenix, Rails
npx localhostforonline --url http://127.0.0.1:5173

Less config, more shipping.

Run one command and stop fighting your local environment.

~/your-project
 npx localhostforonline --port 3000

✓ Tunnel created
✓ Public URL: https://prj-a1b2c3d4.localhostfor.online
✓ Forwarding → http://localhost:3000
✓ Inspector:  https://localhostfor.online/?session=xyz

ready · waiting for requests…
  • Zero install

    One npx command. No daemon, no system service.

  • Auto HTTPS

    Valid TLS on every tunnel — even on public Wi-Fi.

  • Stable subdomains

    Link a tunnel to your account and keep the same URL.

  • Works behind NAT

    Outbound-only WebSocket. No router config, no VPN.

Okay, but how does it work?

A reverse proxy on the edge, an outbound WebSocket from your machine. No inbound ports. No firewall changes.

Visitor
browser
localhostfor.online
edge proxy
secure tunnel
wss://
your machine
localhost:3000
request →← responselive · 4ms round-trip

From localhost to live, in one line.

One CLI, four jobs your team does every day.

Put your dev server on a public URL

Share work-in-progress with clients, teammates or your phone — straight from localhost:3000.

Receive webhooks on localhost

Stripe, GitHub, Twilio and friends can hit your laptop directly. No more deploying just to test a callback.

Demo work-in-progress to anyone

Send a link. They click. They see your local app over a secure HTTPS tunnel — no setup on their side.

Connect services across networks

Bridge a remote service to your local stack without VPNs, port forwarding or firewall changes.

Inspect every request in real time.

See every request, header and response without leaving your terminal — or share the live log with a teammate via URL.

prj-a1b2c3d4.localhostfor.online
liverequests · 1,284
MethodPathStatusLatency
GET/api/users20042 ms
POST/api/orders201118 ms
GET/health2006 ms
POST/webhooks/stripe20073 ms
GET/api/posts/4230411 ms
DELETE/api/sessions40124 ms
p95 · 184ms · 42.6 MBOpen full dashboard →
you read the whole page

Ready to put localhost online?

Run one command. Get a public URL. Inspect every request. That's it.

terminal
$ npx localhostforonline --port 3000