Need help with browser-sync?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

11.6K Stars 756 Forks Apache License 2.0 2.0K Commits 543 Opened issues


Keep multiple browsers & devices in sync when building websites.

Services available


Need anything else?

Contributors list

Keep multiple browsers & devices in sync when building websites.

Follow @Browsersync on twitter for news & updates.



Please visit for a full run-down of features


Browsersync works by injecting an asynchronous script tag (

) right after the 
during initial request. In order for this to work properly the 
 tag must be present. Alternatively you
can provide a custom rule for the snippet using snippetOptions

Upgrading from 1.x to 2.x ?

Providing you haven't accessed any internal properties, everything will just work as there are no breaking changes to the public API. Internally however, we now use an immutable data structure for storing/retrieving options. So whereas before you could access urls like this...

browserSync({server: true}, function(err, bs) {

... you now access them in the following way:

browserSync({server: true}, function(err, bs) {
    console.log(bs.options.getIn(["urls", "local"]));

Install and trouble shooting docs

Integrations / recipes

Browsersync recipes


If you've found Browser-sync useful and would like to contribute to its continued development & support, please feel free to send a donation of any size - it would be greatly appreciated!

Support via PayPal

Supported by

Originally supported by JH - they provided financial support as well as access to a professional designer to help with Branding.

Apache 2 Copyright (c) 2021 Shane Osbourne

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.