Expose localhost
in three steps.
Pick a port, choose a domain, and go live. A secure tunnel to your dev server, webhook endpoint, or internal tool — no CLI flags to memorise.
- 1 Select a port
- 2 Pick a domain
- 3 Expose
Point, click, online.
No terminal required. Every step is a control you can see — select a port, pick a domain, and expose.
A real product,
not just a CLI.
Everything you need to share, secure and debug local services — controlled from a clean UI in the browser and the desktop app.
Share files & folders
Not just ports — expose a local folder or file straight to a public URL. Static sites serve their index.html; everything else is browsable and downloadable. No web server to run.
Access control
Block or allow specific IPs and restrict HTTP methods — block POST, PUT and DELETE, or allowlist only the IPs you trust. Enforced at the edge before traffic ever reaches your app.
Local DNS for development
Map friendly *.test / *.local hostnames to your services via the desktop app — your whole local stack reachable by name, no hosts-file editing, for a smoother dev loop.
Passcode protection
Lock any tunnel with a passcode straight from the UI — no flags to memorise. Share a private preview safely.
Request replay
Re-fire any captured request with one click. Debug a flaky webhook without making the provider resend.
Live request logs
Every request streamed in real time — method, path, status, timing, headers and body. See exactly what hit your app.
Custom domains
Bring your own domain with a CNAME + TXT verify, or use a free you.expona.dev subdomain. Pick from a dropdown.
Network analytics
Requests, average latency, bandwidth and live tunnels — durable history retained by your plan, not just a live tail.
Security & control, by default.
The things you’d normally bolt on yourself — already here, all toggled from the UI.
Passcode protection
Gate any tunnel behind a passcode — share a private preview without exposing it to the world.
Rate limiting
Cap requests per IP to shield your dev box from runaway scripts and abusive traffic.
Local DNS
Reach your whole stack by friendly *.test names mapped straight to local ports.
Request replay
Capture any request and re-fire it with one click — debug flaky webhooks without the sender.
Five seconds,
not five minutes.
Other tunnels make you memorise flags and read the manual. Expona is select-and-expose — the whole idea is the UI.
Works with everything you run.
Any HTTP server, any language, any framework. If it listens on a port, Expona can tunnel it.
Choose your plan
Start free. Upgrade when your side project becomes the product.
- 3 active tunnels
- 24-hour log retention
- Free you.expona.dev subdomain
- Passcode protection
- Live request logs
- 25 active tunnels
- Custom domains
- 30-day log retention
- 10 team members
- Request replay
- Local DNS
- Priority edge
- Unlimited tunnels
- Custom domains
- 1-year log retention
- 25 team members
- Roles & permissions
- Shared workspaces
- Audit log
- Unlimited tunnels
- Custom domains
- Unlimited retention
- Unlimited members
- Dedicated regions
- SOC 2 · SSO
- 99.99% SLA
- Priority support
One app. One token. Live URL.
The tunnel agent is built into the app — no extra installs, no config files. Sign in to the portal, create an agent token, paste it once, and exposelocalhost:3000as l3000.expona.dev.