Overview
Public URLs let local apps or websites be reachable on the public internet.
Also known as tunnels, they're useful when you want to test apps in a real-world setting, test webhooks, run OAuth flows, or share work in progress with clients, stakeholders, or anyone outside your local network.
AI agents can create and manage Public URLs too, over MCP or the CLI. See AI agents.
Creating a Public URL
In the app. Click Add Public URL on an app's card and choose New Public URL. If the app already has a local domain like api.myapp.local, the Public URL appears as api-myapp-12.localcan.dev and routes directly to your local app.
From the CLI. Run localcan http 3000 to get a Public URL for any port. See Quick tunnels.
In a project file. Add a provider: localcan endpoint to a service:
name: My App
services:
web:
target: http://localhost:3000
endpoints:
- provider: localcan
Leave url: empty and LocalCan assigns one on the next localcan reload, writing it back into the file. See Configuration → Projects for pinned URLs and custom domains.
Advanced features
- Traffic Inspection: monitor all incoming HTTP requests to your Public URLs in real time. Helpful for debugging webhooks, analysing API calls, and troubleshooting integrations.
- Snapshots: keep a static copy of your app serving at the Public URL while your machine is offline, or publish a folder straight to a new Public URL with no app running. See Snapshots.
- Host Header Customization: rewrite the
Hostheader before requests reach your local app. Useful when testing domain-specific features or multi-tenant apps. See Configuration → Headers. - Access control: choose who can open a Public URL with a password page, a secret link, or IP rules. Enforced on LocalCan's servers, so it keeps working while your machine is asleep and covers Snapshots too. See Access control.
- Basic Authentication: protect a Public URL with one or more username/password pairs, checked by LocalCan running on your machine. See Configuration → Basic auth.
Pausing and resuming
Public URLs have pause and resume. If you pause one, it goes offline but the URL stays reserved for up to 7 days. The menu items live next to each Public URL in the desktop app.
If you close LocalCan entirely, your Public URLs are still reserved. You can switch off your computer, return after a few days, and resume the same Public URLs.
The Free plan
The Free plan↗ includes one Public URL at a time. Each URL is temporary: it lives on the trylocalcan.com domain, lasts up to 60 minutes, and a new session gets a new random URL. Traffic is capped at 1 GB per calendar month.
Within the 60-minute window, pause and resume work like on paid plans and keep the same URL. When the session ends, the app shows "Session ended" and the New URL button starts a fresh one. Visitors who open an expired link see a LocalCan offline page.
Free sessions are HTTP only. TCP tunnels, custom domains, Snapshots, and Access control are available on paid plans.
© 2026 LocalCan™. All rights reserved.