A simple ngrok alternative for exposing localhost

tunnel.to creates a public HTTPS endpoint for an application running on your machine. Start with an anonymous tunnel and make it permanent only when you need to.

The client makes an outbound connection, so there is no inbound port to open, firewall rule to change, or server deployment to manage.

tunnelto 3000
Public HTTPS
No inbound ports
No firewall rules
Anonymous tunnels

Why developers use tunnel.to

  • Share a local development server
  • Receive and debug webhooks
  • Demo work in progress
  • Expose an API or AI agent
  • Make an MCP server remotely reachable
  • Give a third party temporary access to a local endpoint

tunnel.to vs ngrok

Capabilitytunnel.tongrok
Public HTTPS tunnelsYesYes
Use without an accountYesNo; agent setup uses an account authtoken
Stable hostnameReserved namesAccount development domain
Custom domainsYesYes, subject to plan and configuration
Product focusPublic reverse tunnelsIngress and API delivery platform

ngrok has evolved into a broad ingress and API-delivery platform. tunnel.to is deliberately narrower: get a local service onto a public HTTPS URL with as little ceremony as possible.

Verified September 24, 2026 against ngrok agent setup and ngrok plans and domain limits .

Start disposable. Make it permanent later.

Try it

localhost → anonymous public URL

Keep it

localhost → persistent tunnel.to hostname

Own it

localhost → custom domain + access controls

Related guides

Related comparisons

Frequently asked questions

What is an ngrok alternative?

It is another service or tool that creates a public endpoint for an application otherwise reachable only locally or privately.

Can I expose localhost without creating an account?

Yes. tunnel.to supports anonymous tunnels.

Does tunnel.to support custom domains?

Yes. Custom domains attach to reserved tunnel names.

Do I need to change firewall rules?

No. The tunnel client establishes an outbound connection to make the local service reachable.

The shortest path from localhost to public HTTPS.

Start anonymously. Add a stable hostname or custom domain when you need one.

Install tunnelto