5 Free Tools to Expose localhost to Internet

Editor Ratings:
User Ratings:
[Total: 4 Average: 4]

This post lists 5 free tools to expose localhost to internet. The tools I have added in this list take a localhost URL from you and give you a public link that you can share with anyone you want. The public URL that they generate has a random address but some of them can even give you a reserved address as well. Basically, what they do is enable port forwarding on the localhost address you give them. The tools I have mentioned here are basically command line tools that you can install on your PC and then use to generate a public link that you can share.

Exposing localhost can be useful in various scenarios and with the tools I have mentioned here you can easily do that. In case you are developing some web app or chatbot locally then you will need the tools I have mentioned here to expose them to web. You can easily generate a public link that you can send to a client for preview. Just run a simple command and then you are done. These tools work on any localhost URL and work on almost all platforms. All of these tools are free to use but for some advanced features, there is a paid tier.

expose localhost to public internet via port forwarding

5 Free Tools to Expose localhost to Internet


ngrok is probably one of the most popular tools to expose localhost to a public internet. You can install it on any platform you are on and then simply run a simple command to create a public link. This is simple and pretty straight forward tool you can use. There is a premium plan as well for advanced developers such as custom subdomains, reserved domains, a greater number of connections, and much more.

Getting started with it is easy. You simply start by installing it on your PC according to your PC. Make sure that you have some app or service running on localhost and then run it like this.

ngrok http PORT

ngrok in action

Now, just copy the ngrok URL that it has generated for you and then you are simply done. Just share the public URL with anyone you want and then let them access your app from your PC. This is simple and when you want to terminate a connection then you just need to run kill -9 {ngrok_id} command. Here ngrok_id you have to obtain from a process manager or by running top command.


tunnelto is another tool that you can use to expose localhost to a public link that it creates for you. All you have to do is just install its command line tool on your PC and then you are done. This is like the tool I have mentioned above but for free, it creates a random link for you. For reserved domains, you will have to subscribe to its premium plan. On the command line interface, you can see the log of the requests and inspect the traffic.

To create a public link for your localhost server using tunnelto, you just run the following command. It will immediately create a URL for you that you can share wherever you want.

./tunnelto --port 5000 --subdomain DomainName

tunnelto in action

You can see the syntax of the command above. And in the screenshot, you can see tunnelto in action. You just download it from the link that is mentioned above for your platform. Extract the binary and then just start creating h URLs. This is as simple as that. To stop the session, you just terminate the tunnelto service.


Serveo is a unique tool you can use to expose localhost to public internet. The best part is that here you don’t have to install anything in order to use it. Here you just have to run a simple SSH command that it gives and returns a public URL. You can either let it assign a random URL or you can specify a subdomain explicitly. The public link is created in a couple of seconds and then you can share that with anyone you want. In the main command, you can even specify multiple localhost servers as well and let it take care of the rest.

The following is the syntax of the tool. You just run the command after modifying the server port. After that, just copy the link it gives and then you are all set.

ssh -R 80:localhost:PORT serveo.net

serveo in action

Above you can see Serveo in action. In this way, you can run it on any platform that has SSH support. Linux already has SSH installed on it but if you are on Windows then you may have to install it separately. If you are Windows 10 then you can enable it from the features or you use it on WSL.


Pagekite is yet another tool you can use on your PC to expose localhost to internet. Just like other tools in the list, it takes a port number from you along with a subdomain name and creates a public link. In order to use it on your PC, you need to be sure that you have Python2 installed there. There are just two commands that you have to run in order to get started with it. Copy down the commands below one after another and then paste them in the terminal. In the second command, you only have to modify the port number and then hit enter.

curl -O https://pagekite.net/pk/pagekite.py
python2 pagekite.py PORT SubDomain.pagekite.me

pagekite in action

You can see the syntax of the main command that you have to execute in order to make it work. You just run them and it will give you a public link generated for you. The parameters in the red color in the commands have to specified by you. So before executing the second command, make changes in the port and subdomain accordingly.


LocalXpose in action

LocalXpose is the last tool in my list and a simple reverse proxy that helps you expose localhost to the internet. This is a different tool than others I have mentioned in the list. The best part is that it comes with a GUI. You just have to select a protocol from the list, specify the localhost address there and then you are done.

It is great, however, in the free plan of the tool you are only allowed to create 4 tunnels at max. You can have custom domains with 1 minute tunnel time out. But the good thing here is that you get unlimited connections and you can password protect your tunnel as well.

Just like other tools in the list, it is cross-platform software and you can download from above. There is no need to create any account in order to use the free version of the software. After you run it, create your first tunnel by selecting HTTP or HTTPS protocol from the list and specify the localhost address. Next, you select a region and specify a subdomain and then hit the “Start Tunnel” button. After that, you go to the generated public link and to stop the tunnel just click on “x” on the tunnel name on its UI.

Closing words

These are the best free tools you can use to expose localhost to internet. All these tools are great and you can choose them based on your needs. All the tools run from a command line and you just need to run a simple command. If you have single or multiple local servers then you can expose them all with ease. These are good for backend developers and programmers. They can just expose any local app and let clients and other remote teammates test it. So, if you are looking for some tools to expose local host apps or services to public internet then just select any tool from here and you are good to go.

Editor Ratings:
User Ratings:
[Total: 4 Average: 4]

Leave A Reply


Get 100 GB FREE

Provide details to get this offer