public urls for every worktree.
tnl gives your local app an encrypted HTTPS url. Start the same project in another Git worktree and it gets a different url by default. Keep both versions open while you work.
[ start developing ]
npm install -D @tnldotdev/tnl@next
npx tnl init
npx tnl devSign in when prompted. tnl prints the url when your app is ready.
Follow the quickstart or publish an app that's already running.
[ from browser to app ]
See how it works for the full request path.
[ questions ]
- does it deploy my app?
No.
tnlpublishes your running local HTTP app; it doesn't deploy it or replace your app's login.- what if localhost is enough?
Keep using localhost. Use
tnlwhen someone outside your machine needs to reach your local app.- who can visit?
Only your current IP is allowed by default. Allow reviewers or webhooks when you need them.
- can i use my own domain?
Yes. Claim a development subdomain and use it for new public urls. Use a custom domain.
- can i self-host?
Yes. Use the same client with your own tnl server. Run your own server.
- how much does it cost?
tnl.dev is free for now. Teams have a soft limit of 50 GiB of transfer per month across their public URLs, counting traffic in both directions.
Accounts and teams created while it is free will keep a free plan if paid options arrive.