Free · No signup required

Instant public URLs
& remote terminal access.

One command. No signup. No config.

Expose localhost to the internet in seconds, or open a full terminal from your phone. Clean URLs your client can actually click.

Click to copy
|
 
waking up...
 
fuzzy-koala.tunnel.baby → localhost:3000
 
Share this link with anyone.

Paste this in your terminal. That’s it.

The fastest way to expose localhost to the internet.

No credit card. No config files. Works everywhere Node runs.

New

Your dev machine, from the couch.

Run tunnel terminal on your laptop, scan the QR code, and control it from your phone.

Your whole dev workflow, not just one shell. Run servers, tests, and git commands in parallel — all from your phone.

1

Run one command

$ tunnel terminal
Terminal server ready
Local  → http://localhost:9090
Public → https://cozy-fox.tunnel.baby
█████████████████████████
██ ▄▄▄▄▄ █ ▀▄█▀█ ▄▄▄▄▄ ██
██ █ █ █▀ ▄▀██ █ █ ██
██ ▀▀▀▀▀ █▀▄▀▄██ ▀▀▀▀▀ ██
██▀▀▀▀▀▀▀█ █▀██▀▀▀▀▀▀▀██
██ ▄▀▄▀▄ ▀█▄█▀▄ ▄▀▄▀▄ ██
██▀▀▀▀▀▀▀█ ▀▄██▀▀▀▀▀▀▀██
██ ▄▄▄▄▄ █▀ ▄▀█ ▄▄▄▄▄ ██
██ █ █ █▀▄▀▄█ █ █ ██
██ ▀▀▀▀▀ █ █▀██ ▀▀▀▀▀ ██
█████████████████████████
Scan to connect from your phone
2

Scan the QR code

█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█
█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█
█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█
█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█
█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█
█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█
█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█
█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█
█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█
█▀▄█▀▄▀█▄▀█▀▄█▀▄▀█

Point at QR code

cozy-fox.tunnel.baby

3

Code from the couch

cozy-fox.tunnel.baby
~/project $ claude
Claude Code v1.2.0
You:
fix the auth bug in login.ts
Claude:
Found the issue. The token expiry check was comparing timestamps in different formats. Fixing now...
Editsrc/auth/login.ts
+3-2lines changed
$
Fix bugs from the couchReview PRs without opening your laptopRestart servers on the trainDeploy from the airport

Three steps. No config.

From zero to a live public URL in under ten seconds.

01

Run

One command. No signup, no config, no account required.

$ npx tunnel.baby
02

Share

Get an instant HTTPS link. Send it to anyone, anywhere.

https://my-app.tunnel.baby
03

Done

Your client opens the link and sees your local app, live.

Client opens it. That's it.

Everything you need. Nothing you don't.

tunnel.baby handles tunneling, encryption, inspection, and sharing so you can focus on building.

Tunneling

Localhost to Live

Expose any local port to the internet with a single command. HTTPS included, always.

localhost:3000
my-app.tunnel.baby

Custom subdomains

Get a memorable URL like my-app.tunnel.baby instead of random hex. Free on all plans.

CNAMEapp.yoursite.com
tunnel.babyTLS active

TCP tunnels

Not just HTTP. Tunnel databases, game servers, or any TCP service.

./build/
share.tunnel.baby

Developer Tools

See every request

Built-in traffic inspector captures every request and response. Filter, search, and replay from the browser.

GET/api/users20012ms
POST/api/auth20145ms
GET/health2003ms

Your desktop, from anywhere

Access your development machine remotely. No VPN, no port forwarding, no IT tickets.

dev-machine
rdp://tunnel.baby/desktop

Share folders, not files

Serve any local directory over HTTPS. Perfect for sharing builds, assets, or documentation with your team.

./build/
share.tunnel.baby

Platform

Tunnels as a service

Embed tunnel creation in your app with the SDK. Programmatic tunnel management via a clean REST API.

const tunnel = await client.create(8080)

Your domain. Our tunnel.

Point any custom domain at your tunnel with a single CNAME record. Automatic TLS included.

CNAMEapp.yoursite.com
tunnel.babyTLS active

Five lines to live.

Integrate tunnel.baby into your workflow in any language.

# Install and start tunneling
$ npx tunnel.baby --port 3000
 
# Or with a custom subdomain (Pro)
$ tunnel up --port 3000 --name my-app
 
# Tunnel live → https://my-app.tunnel.baby

You've tried the others.

tunnel.baby gives you more, for less, with less friction.

Featuretunnel.babyngrokCloudflare Tunnelssh -R
Works without account
One-command setup
Custom subdomains (free)
Traffic inspector
File sharing
Remote desktop
Embeddable API
TCP tunnels (free)
Sub-100ms
average latency
Global
relay network
1000s
of tunnels daily

Less than a coffee. More than enough.

Start free. Upgrade when you need more.

MonthlyAnnual

Free

Everything you need to start. Free forever.

$0 forever
  • 1 tunnel with cute subdomain
  • HTTPS out of the box
  • 500 MB/month bandwidth
  • Works on Mac, Linux, Windows
  • No credit card required
Start tunneling
7-day free trial

Pro

For developers who ship daily.

$9/mo
  • 50 tunnels
  • Custom subdomains
  • No expiry
  • 50 GB/month bandwidth
  • 5 API keys
  • Request inspector
  • Custom domains
  • File sharing
  • Remote desktop
  • No interstitial page
  • Priority support
Start 7-day free trial

API / Team

For teams and heavy API usage.

$49/mo
  • 500 tunnels
  • Custom subdomains
  • No expiry
  • 500 GB/month bandwidth
  • 50 API keys
  • Request inspector
  • Custom domains
  • File sharing
  • Remote desktop
  • No interstitial page
  • Dedicated support
Get started

Questions.

No. Free tunnels work with zero signup. Just run npx tunnel.baby --port 3000 and you get a random subdomain with HTTPS. Create an account when you want custom subdomains, longer sessions, or the traffic inspector.

Yes. All tunnels use WireGuard encryption (Curve25519 + ChaCha20-Poly1305) between your machine and our relay servers. TCP tunnels are fully end-to-end encrypted. HTTP tunnels use TLS termination for browser compatibility, but we never log, inspect, or store request content. Our relay code is open source.

tunnel.baby requires no signup for basic usage, offers free custom subdomains on Pro, includes built-in file sharing and remote desktop access, and provides an embeddable SDK for programmatic tunnel management. We also have a simpler pricing model with more generous free-tier limits.

The CLI runs on macOS, Linux, and Windows. Anywhere Node.js 18+ runs, tunnel.baby runs. We also provide a TypeScript SDK for embedding tunnel creation directly in your applications.

Yes, on the Pro plan and above. Point a CNAME record at tunnel.baby and we handle TLS certificate provisioning automatically. Your custom domain will serve traffic to your local tunnel.

The CLI automatically reconnects with exponential backoff. Your subdomain is held for 5 minutes on the free plan and indefinitely on Pro, so you do not lose your URL during brief interruptions.

Free accounts get 1 GB per day and 100 requests per minute. Pro accounts get 100 GB per day and 10,000 requests per minute. Team plans include custom limits and SLA guarantees.

We run relay servers in three regions: US East, US West, and EU West, all on Fly.io. The CLI auto-selects the lowest-latency region, or you can pin a specific region with the --region flag.

Stop screen-sharing your localhost.

One command. A URL your client can actually click.

$ npx tunnel.babyCopy