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.
$ npx localhostforonline --port 3000No DNS · No TLS setup · No account required to start
Two things every tunnel should have.
Most tunnels give you a random URL and a bandwidth meter. We don't.
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
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
One plan. Everything you need.
No per-request billing. No hidden fees. Unlimited tunnels, unlimited bandwidth.
Free
For quick experiments
- Up to 3 subdomains
- Unlimited tunnels
- Unlimited bandwidth
- Live request inspector
Pro
For serious projects
- Unlimited subdomains
- Unlimited tunnels
- Unlimited bandwidth
- Live request inspector
- Priority support
Works with any stack.
If it speaks HTTP on a port, it works. No SDK. No code changes.
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:5173Less config, more shipping.
Run one command and stop fighting your local environment.
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.
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.
| Method | Path | Status | Latency |
|---|---|---|---|
| GET | /api/users | 200 | 42 ms |
| POST | /api/orders | 201 | 118 ms |
| GET | /health | 200 | 6 ms |
| POST | /webhooks/stripe | 200 | 73 ms |
| GET | /api/posts/42 | 304 | 11 ms |
| DELETE | /api/sessions | 401 | 24 ms |
Ready to put localhost online?
Run one command. Get a public URL. Inspect every request. That's it.
$ npx localhostforonline --port 3000