{"slug":"funnel-vs-sharing-devices","title":"Funnel vs. sharing devices","tags":["tailscale","devices"],"agent_summary":"Last validated: Aug 3, 2025","trigger_phrases":[],"runnable":false,"markdown":"\r\n# Funnel vs. sharing devices\r\n\r\nLast validated: Aug 3, 2025\r\n\r\nTailscale offers more than one way to serve and share resources. You can use [Tailscale Funnel](https://tailscale.com/docs/features/tailscale-funnel) to share resources outside your Tailscale network (known as a [tailnet](https://tailscale.com/docs/concepts/tailnet)) or use [device sharing](https://tailscale.com/docs/features/sharing) to share an entire device with someone. The following table lists the differences between these features and describes when each works best.\r\n\r\n|  | **Funnel** | **Sharing a device** |\r\n| --- | --- | --- |\r\n| **Purpose** | Expose local services to the public internet. | Share specific devices with a single person. |\r\n| **Access** | Anyone with the Funnel URL can access the shared service. | The specific person you shared the device with. |\r\n| **Use case example** | Sharing a local web server with a contract employee. | Giving someone temporary access to a device in your tailnet. |\r\n\r\nAlthough both Funnel and device sharing serve similar purposes: to share with someone outside of your tailnet, their use cases and functionality differ.\r\n\r\n## [Funnel](https://tailscale.com/docs/reference/funnel-vs-sharing\\#funnel)\r\n\r\nFunnel is for more ephemeral purposes where you might quickly share a link with someone. It doesn't work with other Tailscale features like [subnet routers](https://tailscale.com/docs/features/subnet-routers), [exit nodes](https://tailscale.com/docs/features/exit-nodes), or [access controls](https://tailscale.com/docs/features/access-control).\r\n\r\nFunnel works best for sharing a single resource, such as a service or a folder, temporarily. You can share the resource using a unique Funnel URL. The person you share the URL with can only access the resource when their device is online, the service is running, and Funnel is running.\r\n\r\nUse Funnel to:\r\n\r\n- Temporarily share a service running on your device with anyone on the public internet.\r\n- Temporarily share a file or a folder on your device with anyone on the public internet.\r\n\r\nConsider using device sharing instead if:\r\n\r\n- You need to share with only a specific person.\r\n- You want the person to retain access to the device until you unshare the device.\r\n- You want to apply access control policies to the person you're sharing with.\r\n- You want to share more than a single service.\r\n\r\n[**Tailscale Funnel** \\\\\r\n\\\\\r\nSecurely route internet traffic to local services using Tailscale Funnel.](https://tailscale.com/docs/features/tailscale-funnel)\r\n\r\n## [Sharing a device](https://tailscale.com/docs/reference/funnel-vs-sharing\\#sharing-a-device)\r\n\r\nSharing a device is more temporary than [inviting someone to your tailnet](https://tailscale.com/docs/features/sharing/how-to/invite-users) (which increases your user count), but less temporary than sharing a single resource with Funnel.\r\n\r\nSharing a device works best for sharing an entire device with someone outside your tailnet. When you share a device, you send an invite link to the person you want to share with. Tailscale automatically [quarantines](https://tailscale.com/docs/features/sharing#quarantine) devices you share. This means the shared device can only respond to inbound connections; it cannot use outbound connections. You can further refine their access with [access control policies](https://tailscale.com/docs/features/access-control) for shared devices. For example, you can apply an access control policy to the user's email address so that they can only access port `22` on devices tagged with `tag:shared`.\r\n\r\nUse device sharing to share a single device with a specific person in a quarantined way that you can further manage using access control policies.\r\n\r\nConsider using Funnel instead if you only need to share a single service for a short period of time.\r\n\r\n[**Share your machines with other users** \\\\\r\n\\\\\r\nGive a Tailscale user on another tailnet access to a private machine within your tailnet, without exposing the machine publicly.](https://tailscale.com/docs/features/sharing)\r\n\r\n## [Example scenarios](https://tailscale.com/docs/reference/funnel-vs-sharing\\#example-scenarios)\r\n\r\nThe following section describes example scenarios and whether Funnel or device sharing would work best.\r\n\r\n| **Scenario** | **Recommendation** |\r\n| --- | --- |\r\n| You have a local development build of a web server running on your device and you want to share a preview of your changes with a co-worker. | [Use Funnel](https://tailscale.com/docs/features/tailscale-funnel) |\r\n| You're hosting a Plex media server in your tailnet and you want to give a friend access to it so they can access your movie collection. | [Use device sharing](https://tailscale.com/docs/features/sharing) |\r\n| You're running a Minecraft server in your tailnet and you want to let one or more of your friends join. | [Use device sharing](https://tailscale.com/docs/features/sharing) |\r\n| You hired a contract developer and you want to give them access to a development server in your tailnet. | [Use device sharing](https://tailscale.com/docs/features/sharing) |\r\n| You're working on an integration project locally and you want to test a GitHub webhook receiver without deploying your project to the cloud. | [Use Funnel](https://tailscale.com/docs/features/tailscale-funnel) |\r\n\r\n![Project Logo](https://cdn.brandfetch.io/tailscale.com/fallback/lettermark/theme/dark/h/256/w/256/icon?c=1bfwsmEH20zzEfSNTed)\r\n\r\nAsk AI\r\n\r\nreCAPTCHA\r\n\r\nRecaptcha requires verification.\r\n\r\nprotected by **reCAPTCHA**\r\n","html":"<h1>Funnel vs. sharing devices</h1>\n<p>Last validated: Aug 3, 2025</p>\n<p>Tailscale offers more than one way to serve and share resources. You can use <a href=\"https://tailscale.com/docs/features/tailscale-funnel\">Tailscale Funnel</a> to share resources outside your Tailscale network (known as a <a href=\"https://tailscale.com/docs/concepts/tailnet\">tailnet</a>) or use <a href=\"https://tailscale.com/docs/features/sharing\">device sharing</a> to share an entire device with someone. The following table lists the differences between these features and describes when each works best.</p>\n<p>|  | <strong>Funnel</strong> | <strong>Sharing a device</strong> |\r\n| --- | --- | --- |\r\n| <strong>Purpose</strong> | Expose local services to the public internet. | Share specific devices with a single person. |\r\n| <strong>Access</strong> | Anyone with the Funnel URL can access the shared service. | The specific person you shared the device with. |\r\n| <strong>Use case example</strong> | Sharing a local web server with a contract employee. | Giving someone temporary access to a device in your tailnet. |</p>\n<p>Although both Funnel and device sharing serve similar purposes: to share with someone outside of your tailnet, their use cases and functionality differ.</p>\n<h2><a href=\"https://tailscale.com/docs/reference/funnel-vs-sharing#funnel\">Funnel</a></h2>\n<p>Funnel is for more ephemeral purposes where you might quickly share a link with someone. It doesn't work with other Tailscale features like <a href=\"https://tailscale.com/docs/features/subnet-routers\">subnet routers</a>, <a href=\"https://tailscale.com/docs/features/exit-nodes\">exit nodes</a>, or <a href=\"https://tailscale.com/docs/features/access-control\">access controls</a>.</p>\n<p>Funnel works best for sharing a single resource, such as a service or a folder, temporarily. You can share the resource using a unique Funnel URL. The person you share the URL with can only access the resource when their device is online, the service is running, and Funnel is running.</p>\n<p>Use Funnel to:</p>\n<ul>\n<li>Temporarily share a service running on your device with anyone on the public internet.</li>\n<li>Temporarily share a file or a folder on your device with anyone on the public internet.</li>\n</ul>\n<p>Consider using device sharing instead if:</p>\n<ul>\n<li>You need to share with only a specific person.</li>\n<li>You want the person to retain access to the device until you unshare the device.</li>\n<li>You want to apply access control policies to the person you're sharing with.</li>\n<li>You want to share more than a single service.</li>\n</ul>\n<p><a href=\"https://tailscale.com/docs/features/tailscale-funnel\"><strong>Tailscale Funnel</strong> \\\r\n\\\r\nSecurely route internet traffic to local services using Tailscale Funnel.</a></p>\n<h2><a href=\"https://tailscale.com/docs/reference/funnel-vs-sharing#sharing-a-device\">Sharing a device</a></h2>\n<p>Sharing a device is more temporary than <a href=\"https://tailscale.com/docs/features/sharing/how-to/invite-users\">inviting someone to your tailnet</a> (which increases your user count), but less temporary than sharing a single resource with Funnel.</p>\n<p>Sharing a device works best for sharing an entire device with someone outside your tailnet. When you share a device, you send an invite link to the person you want to share with. Tailscale automatically <a href=\"https://tailscale.com/docs/features/sharing#quarantine\">quarantines</a> devices you share. This means the shared device can only respond to inbound connections; it cannot use outbound connections. You can further refine their access with <a href=\"https://tailscale.com/docs/features/access-control\">access control policies</a> for shared devices. For example, you can apply an access control policy to the user's email address so that they can only access port <code>22</code> on devices tagged with <code>tag:shared</code>.</p>\n<p>Use device sharing to share a single device with a specific person in a quarantined way that you can further manage using access control policies.</p>\n<p>Consider using Funnel instead if you only need to share a single service for a short period of time.</p>\n<p><a href=\"https://tailscale.com/docs/features/sharing\"><strong>Share your machines with other users</strong> \\\r\n\\\r\nGive a Tailscale user on another tailnet access to a private machine within your tailnet, without exposing the machine publicly.</a></p>\n<h2><a href=\"https://tailscale.com/docs/reference/funnel-vs-sharing#example-scenarios\">Example scenarios</a></h2>\n<p>The following section describes example scenarios and whether Funnel or device sharing would work best.</p>\n<p>| <strong>Scenario</strong> | <strong>Recommendation</strong> |\r\n| --- | --- |\r\n| You have a local development build of a web server running on your device and you want to share a preview of your changes with a co-worker. | <a href=\"https://tailscale.com/docs/features/tailscale-funnel\">Use Funnel</a> |\r\n| You're hosting a Plex media server in your tailnet and you want to give a friend access to it so they can access your movie collection. | <a href=\"https://tailscale.com/docs/features/sharing\">Use device sharing</a> |\r\n| You're running a Minecraft server in your tailnet and you want to let one or more of your friends join. | <a href=\"https://tailscale.com/docs/features/sharing\">Use device sharing</a> |\r\n| You hired a contract developer and you want to give them access to a development server in your tailnet. | <a href=\"https://tailscale.com/docs/features/sharing\">Use device sharing</a> |\r\n| You're working on an integration project locally and you want to test a GitHub webhook receiver without deploying your project to the cloud. | <a href=\"https://tailscale.com/docs/features/tailscale-funnel\">Use Funnel</a> |</p>\n<p><img src=\"https://cdn.brandfetch.io/tailscale.com/fallback/lettermark/theme/dark/h/256/w/256/icon?c=1bfwsmEH20zzEfSNTed\" alt=\"Project Logo\"></p>\n<p>Ask AI</p>\n<p>reCAPTCHA</p>\n<p>Recaptcha requires verification.</p>\n<p>protected by <strong>reCAPTCHA</strong></p>\n"}