Expose local app to internet with a free public URL
A simple guide to expose localhost to internet, share localhost online, test webhooks, and create a temporary public URL with GhostlyShare.

Table of Content
When a local app needs a public URL
A local app normally works only on your own machine. That is fine while coding, but sometimes another person, device, or external service needs to open it from the internet.
- A teammate needs to review a feature before it is deployed.
- A client wants to click through a prototype during a call.
- A webhook provider needs a public callback URL.
- A phone, tablet, or test machine is not on the same network.
For these moments, a full deployment is usually too much. A temporary localhost public URL is enough.
What you need before you start
Before creating the public URL, check the local app first.
- A web app, API, dashboard, or webhook receiver running locally.
- The local URL or port, for example http://localhost:5173, http://localhost:3000, or http://localhost:5080.
- GhostlyShare installed from the Microsoft Store.
- A browser tab to test the public URL after it is created.
If the local URL does not work on your own machine, fix that first. The public URL can only forward traffic to an app that is already running.
How the public preview works
GhostlyShare watches local ports and shows the web services it can share. You choose the right service and start a public preview for it.
- Your app stays on localhost.
- GhostlyShare creates a temporary public URL.
- Requests to that public URL are forwarded to your local app.
- When the session is finished, you stop the preview.
Think of it as a short-lived preview link, not a replacement for production hosting.
Step by step: expose a local app to the internet
Use these steps when your app is already running locally.
- Start your local app and open it in your browser.
- Open GhostlyShare from the Windows tray.
- Find the matching app row by port, title, or local URL.
- Press Start and wait until the row shows Live.
- Copy the public URL and test it in a browser.
- Share the URL with the person, device, or webhook service that needs it.
- Press Stop when the preview is no longer needed.
That is the whole loop: local app, public URL, quick test, stop.
Using the public URL for webhooks
Webhook providers cannot call localhost on your machine. They can call the public preview URL.
- Start your local webhook receiver.
- Create the public URL in GhostlyShare.
- Paste the public URL into the webhook callback field.
- Send a test event and inspect the request locally.
This is useful when you want real webhook traffic without deploying the receiver first.
Good use cases for a temporary public URL
The workflow is best for short sessions where the app should stay local.
- Send a working preview to a teammate before deploying a branch.
- Let a client open a local prototype during a call.
- Test webhooks from payment, repository, automation, or commerce platforms.
- Open the same app on a phone or tablet without joining the same network.
- Share a local API for a short integration conversation.
When to use this instead of deploying
A public preview URL is temporary. It points to the app currently running on your machine. This is useful when you want an ngrok alternative with no signup for quick sharing, not a full hosting workflow.
- Use it for demos, feedback, webhook testing, and mobile checks.
- Use a real deployment for production traffic or long-running access.
- Use normal hosting when the app needs a stable release, stable URL, and monitoring.
In short: preview links are for fast sharing; deployments are for permanent availability.
Limitations and safety notes
A public URL makes your local app reachable from outside your machine. Only share what should be reachable.
- Do not expose admin pages, private dashboards, database tools, or unsafe development endpoints.
- Stop the preview when the test is finished.
- The URL is meant for previews, demos, webhook testing, and debugging, not permanent production hosting.
- If the local app stops, crashes, or your computer sleeps, the public preview will stop working.
Frequently asked questions
The short version
To expose a local app to the internet, start the app locally, open GhostlyShare, press Start on the detected service, copy the public URL, and stop the preview when you are done.
Use GhostlyShare when you need a quick public preview link without deployment, account setup, or port forwarding.
Download GhostlyShare