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 dev

Sign 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. tnl publishes 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 tnl when 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.