Client previews · macOS · Linux

A familiar link for the next client review.

Keep a distinct private URL for each client project. Choose the name on your first run.

Keep both your local app and tunn running during the review. Your client signs in with the allowed email; the link alone does not grant access.

Set up your first preview

Start with your local app

Run your project's usual start command locally. These steps assume it listens on port 3000.

1. Install tunn

curl -fsSL https://tunn.to/install.sh | sh

If tunn is not found, add $HOME/.local/bin to PATH. Install help and quickstart

2. Sign in

tunn login

Finish the sign-in in your browser on the machine running the app.

3. Choose a name and recipient

tunn 3000 --name north-preview --allow=client@example.com

Replace 3000 with your app's port, north-preview with an available name for this project, and client@example.com with your client's email.

Send the HTTPS URL printed by tunn. Your client needs only a browser and signs in with that allowed email. You can open it as the owner. Unlisted accounts are denied before requests reach your app.

Come back to the same project

Run the same named command for the next review. Free keeps 1 name; Pro keeps 10 names. A name is kept the first time you use it, if available. Random names count too, so choose yours before your first tunnel.

Keeping a name reserves ownership while you're offline. It does not host your app: the URL cannot serve your preview when your app or tunn is stopped. Beyond your plan's retained-name limit, extra names last only while the tunnel runs; someone else can take them while you're offline.

To replace a kept name, use Kept names in your account. Stop both tunnels first. Replacing releases the old name; someone else can claim it. Start your next tunnel with the new name. Manage recipients in Share access. Web invitations persist across reconnects; shortening --allow does not remove earlier grants.

A second client project?

Pro is $5/month or $48/year, with 10 retained names. Free includes 5 concurrent tunnels and 10 GB monthly transfer; Pro includes 25 and 500 GB. Requests are unlimited (fair use). Limits are shared per account.

Compare plans for more projects

Tunnels are private by default. The relay terminates TLS and can read traffic. Keep your app's own permissions where needed.