node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Version: 1.0.2

Advertise Browsersync instances over mDNS (bonjour/zeroconf/avahi)

npm dependencies Status devDependencies Status
Build Status Coverage Status
styled with prettier

What it does

The Browsersync-mDNS plugin advertises the current Browsersync instance over multicast Bonjour. This makes it fast and easy to connect from other test devices regardless of dynamic IP addresses, *.local support or whatever.


$ npm install --save-dev browsersync-mdns

Basic usage


Add Browsersync-mDNS to the Browsersync init block's plugins array and the instance will be advertised when Browsersync starts up.

  plugins: ['browsersync-mdns']

Command Line

Include --plugins browsersync-mdns in your browsersync command:

browser-sync start -s app --plugins browsersync-mdns

Note that both Browsersync and this plugin will need to be installed globally.


In most cases, Browsersync-mDNS will advertise the current instance using the name value from package.json.

To use a specific name instead, define the plugin using an object.

  plugins: [{
    module: 'browsersync-mdns',
    options: {
      name: 'Local Dev Site'

See the Browsersync plugins documentation for other plugin configuration examples.

If isn't defined and a package.json file can't be found, the hostname will be used as a fallback.

Related Plugins & Tools

For browsing mDNS/Bonjour services on Android and iOS, I've been using Tomoaki Takeda's (parKhang CyungCyung's?) BonjourSearch app (Android, iOS). It's a free, barebones app that does one simple thing really well. I haven't yet found a functional equivalent for Windows.

This project was partly inspired by stephenfri's bs-console-qrcode project, which prints a QR code linking to the current Browsersync instance directly in the terminal (and browser console).


Bonjour / ZeroConf / mDNS / multicast DNS / Avahi / DNS-SD... Can't we just pick one name?