Localtunnel
Expose your localhost to the world with a public URL.
Open the official app on localtunnel.github.io
This tool is hosted by its maintainers. Click below to open localtunnel.github.io in a new tab — it's their official demo.
Browse developer tools →What's next with Localtunnel?
Choose how you want to get started.
Use it free
Open the official tool or demo — no account needed.
Self-host it
Run the open-source version on your own infrastructure.
What is Localtunnel?
Localtunnel is an open-source tool that exposes local development servers to the public internet, enabling developers to share their work without deploying it. By acting as a reverse proxy, it routes incoming requests from the internet to a local server running on a developer's machine. This tool is primarily used by front-end developers, API testers, and DevOps engineers who need to test web applications or APIs that require public URLs. The main problem it solves is the need to share local projects with others for feedback or testing without the overhead of deploying to a live server. Its MIT license and widespread adoption (18,000 stars) indicate its value in the developer community for quick, temporary public exposure of local services. The tool is particularly useful for scenarios where external services like Twilio, SendGrid, or Browserling require a publicly accessible URL for callbacks or testing. Developers can use localtunnel to bypass the need for complex DNS setups or full deployment pipelines. It's designed for simplicity and ease of use, allowing developers to run a single command to expose their local server. This makes it ideal for short-term testing, peer reviews, or integration testing with third-party services that demand internet-facing endpoints.
How it works
Localtunnel is written in JavaScript and uses Node.js for its runtime environment. It relies on the `http` and `https` modules for handling network requests and responses. The tool communicates with a central tunnel server, which manages the mapping of subdomains to local IP addresses. It supports HTTP/HTTPS traffic and does not handle other protocols like FTP or SSH. The generated URLs are accessible through standard web browsers, and the tool ensures secure communication through HTTPS when available. The data flow involves the local machine running the server, the tunnel server relaying requests, and the client accessing the public URL. Privacy is maintained through the tunnel server's infrastructure, though developers should be cautious about exposing sensitive data through public URLs.
How to use it
- 1Ensure a local web server is running on the desired port (e.g., port 8000). 2. Run the command `lt --port 8000` to start the tunnel. 3. The tool generates a public URL, such as http://gqgh.localtunnel.me, which can be shared with others. 4. The tunnel remains active as long as the localtunnel process is running. When using the tool globally, simply type `lt` in the terminal. For projects, install it as a dependency with `yarn add localtunnel` or `npm install localtunnel`. The tool also supports Homebrew installation for macOS users.
What it can do
- tunneling
Use cases
Assumptions and limitations
Assumptions
- source: https://github.com/localtunnel/localtunnel
- license: MIT — free to use
- privacy: Self-hosted — you control your data
Limitations
- Self-hosted — requires setup, maintenance, and your own infrastructure.
- Relies on an external source (github.com); availability depends on that service.
- Focused on the devtools category: Expose your localhost to the world with a public URL..
Understanding the result
Expose your localhost to the world with a public URL.
Tool details
- Clearly flagged when a network request is needed.
- No account, no sign-up, and no tracking of your content.
- Powered by (MIT).
- Built with
- (localtunnel/localtunnel)
- License
- MIT
- Runs locally
- No — requires a network request
- Verification
- Not yet verified
- Input
- Query
- Output
- Text
Built with localtunnel/localtunnel. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.
- Built with
- License
- MIT
Open-source project
OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.
References
- / — GitHub Repository
Upstream project · GitHub
- MIT License
Upstream project
Frequently asked
How does localtunnel handle DNS resolution for the generated URLs?
Localtunnel uses a centralized tunnel server to map the generated subdomains (e.g., gqgh.localtunnel.me) to the local machine's IP address. The tunnel server acts as a DNS resolver, redirecting traffic to the local server without requiring changes to the local machine's DNS settings. This allows developers to use public URLs without configuring DNS records or deploying to a live server.
What happens if the tunnel server is unavailable?
If the tunnel server is down, localtunnel will not be able to establish a connection, and the generated URL will become inaccessible. This can disrupt testing sessions or sharing with others. To mitigate this, ensure the tunnel server is operational, and consider using alternative tools or services for critical testing scenarios.
Can I use localtunnel with a local server running on a non-standard port?
Yes, localtunnel allows specifying the port number using the --port flag. For example, running `lt --port 3000` will expose a server running on port 3000. This flexibility makes it suitable for various development environments where the local server uses different ports.
How does localtunnel compare to ngrok or similar tools?
Localtunnel is similar to ngrok in that it exposes local servers to the internet, but it uses a different tunnel server infrastructure. While ngrok provides persistent tunnels and more advanced features, localtunnel focuses on simplicity and ease of use. Both tools are suitable for short-term testing but differ in their implementation and feature sets.
What should I do if the generated URL is already taken?
If the generated URL is already in use, localtunnel will automatically assign a new subdomain. This is a common occurrence, and the tool handles it by selecting an available subdomain. Developers should be prepared for potential URL changes and ensure the localtunnel process remains active to maintain access to the generated URL.