# browsersync/browser-sync

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/browsersync-browser-sync).**

12,289 stars · 755 forks · JavaScript · Apache-2.0

## Links

- GitHub: https://github.com/BrowserSync/browser-sync
- Homepage: https://discord.gg/2d2xUThp
- awesome-repositories: https://awesome-repositories.com/repository/browsersync-browser-sync.md

## Description

BrowserSync is a web development synchronization tool and live reload server. It functions as a local static web server, a reverse proxy server for existing sites, and a browser testing orchestrator that coordinates page state across different browsers and physical devices.

The tool is distinguished by its ability to mirror user interactions, such as clicks, scrolls, and form inputs, in real time across all connected devices. It also provides a web-based device control interface and the capability to create public URL tunnels for remote testing of local sites.

The system covers a broad range of development capabilities, including hot-reloading workflows that inject CSS or refresh pages upon file changes, local HTTPS encryption, and network speed throttling to simulate constrained connections. It also supports single-page application routing and the management of cross-origin resource sharing headers.

The project includes a plugin architecture and integrations for build tools and task runners to automate the synchronization process.

## Tags

### Mobile Development

- [Cross-Device Browser Synchronization](https://awesome-repositories.com/f/mobile-development/mobile-infrastructure-security/mobile-device-management/device-hardware-accessors/real-device-testing/cross-device-browser-synchronization.md) — Mirroring clicks and form inputs across multiple connected browsers to maintain the same state during visual audits.

### User Interface & Experience

- [Cross-Device Interaction Mirroring](https://awesome-repositories.com/f/user-interface-experience/cross-device-interaction-mirroring.md) — Serializes user interactions like scroll positions and click events to replicate them across all connected devices.
- [Live Asset Injections](https://awesome-repositories.com/f/user-interface-experience/icons/automatic-icon-injection/live-asset-injections.md) — Watches files for modifications and automatically injects updated CSS and images across browsers. ([source](https://browsersync.io/docs/options))
- [Scroll Synchronization](https://awesome-repositories.com/f/user-interface-experience/scroll-event-handlers/scroll-synchronization.md) — Matches the scroll position of specific CSS elements across all connected browsers in real time. ([source](https://browsersync.io/docs/options))
- [Web-Based Control Panels](https://awesome-repositories.com/f/user-interface-experience/web-based-control-panels.md) — Provides a web-based interface to manage connected devices and trigger synchronization updates from a central dashboard. ([source](https://browsersync.io/docs/options/))

### Web Development

- [Live-Reload Proxies](https://awesome-repositories.com/f/web-development/static-file-servers/live-reload-proxies.md) — Monitors files and automatically refreshes browsers or injects CSS when changes are detected.
- [Script Injections](https://awesome-repositories.com/f/web-development/custom-page-frameworks/page-content-injections/script-injections.md) — Injects a client-side JavaScript snippet into HTML responses to enable remote control of browser actions and styles.
- [Local Web App Hosting](https://awesome-repositories.com/f/web-development/local-web-app-hosting.md) — Starts a local web server for static files or proxies an existing backend server to make the site accessible. ([source](https://browsersync.io/))
- [Static File Servers](https://awesome-repositories.com/f/web-development/static-file-servers.md) — Provides a lightweight server for hosting static HTML, CSS, and JavaScript files with HTTPS and CORS support.
- [CSS Injection](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/asset-management-build-tools/style-optimization-tools/css-injection.md) — Updates page styling by streaming modified stylesheets directly into the browser DOM without triggering a full page refresh.
- [HTTPS Configuration](https://awesome-repositories.com/f/web-development/https-configuration.md) — Provides built-in HTTPS configuration to secure local development traffic using TLS certificates. ([source](https://www.browsersync.io/docs/options/))

### Part of an Awesome List

- [File System Monitoring](https://awesome-repositories.com/f/awesome-lists/devtools/file-system-monitoring.md) — Watches specific file patterns and executes a custom callback function whenever a modification is detected. ([source](https://browsersync.io/docs/api))

### Development Tools & Productivity

- [Browser Reload Triggers](https://awesome-repositories.com/f/development-tools-productivity/browser-reload-triggers.md) — Provides mechanisms that signal web browsers to automatically refresh pages upon source code or asset changes. ([source](https://browsersync.io/docs/http-protocol))
- [File Watchers](https://awesome-repositories.com/f/development-tools-productivity/file-watchers.md) — Monitors specific disk patterns to trigger automated browser reloads or asset injections when source files change.
- [Hot Code Reloading](https://awesome-repositories.com/f/development-tools-productivity/hot-code-reloading.md) — Updates styles across all connected browsers instantly without a full page reload by streaming compiled CSS files. ([source](https://browsersync.io/docs/gulp))
- [Web Interaction Synchronization Tools](https://awesome-repositories.com/f/development-tools-productivity/web-interaction-synchronization-tools.md) — Mirrors scrolls, clicks, and form inputs across multiple browsers and devices in real time.
- [Browser Automation Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/browser-automation-orchestrators.md) — Provides a central dashboard for managing connected devices and coordinating page state across different screen sizes.
- [Build Tool Integrations](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/build-task-automation/build-tool-integrations.md) — Connects to task runners or projects to automate the synchronization process within a development pipeline. ([source](https://www.browsersync.io/))
- [Post-Build Browser Refreshes](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/build-task-automation/post-build-browser-refreshes.md) — Refreshes all connected pages once specific build tasks finish to ensure the latest changes are visible. ([source](https://browsersync.io/docs/gulp))

### DevOps & Infrastructure

- [Live Page Reloads](https://awesome-repositories.com/f/devops-infrastructure/restart-automation/file-change-triggered-restarts/live-page-reloads.md) — Monitors specific files and triggers a browser refresh whenever changes are detected to show updated content instantly. ([source](https://browsersync.io/docs/command-line))

### Networking & Communication

- [WebSocket Event Systems](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/websocket-implementations/websocket-event-systems.md) — Utilizes a WebSocket-based event system to transmit synchronization signals and interaction events between the server and browsers.
- [Local Network Website Hosting](https://awesome-repositories.com/f/networking-communication/local-network-website-hosting.md) — Runs a local development server for static files or proxies existing sites to make them accessible for testing.
- [Local Reverse Proxies](https://awesome-repositories.com/f/networking-communication/local-reverse-proxies.md) — Wraps an existing local server or virtual host to add synchronization and live reload capabilities.
- [URL Routing Proxies](https://awesome-repositories.com/f/networking-communication/request-proxies/url-routing-proxies.md) — Implements a proxy server that intercepts requests to route them to an existing local site for synchronization. ([source](https://browsersync.io/docs/options))
- [HTTP Proxies](https://awesome-repositories.com/f/networking-communication/http-proxies.md) — Intercepts and rewrites incoming requests to wrap existing web servers with synchronization scripts and custom headers.
- [Local Server Tunnels](https://awesome-repositories.com/f/networking-communication/local-server-tunnels.md) — Creates a public URL tunnel to allow external users to access a locally hosted development site. ([source](https://browsersync.io/docs/command-line))
- [Reverse Proxy Tunneling Tools](https://awesome-repositories.com/f/networking-communication/reverse-proxy-tunneling-tools.md) — Creates a secure public endpoint that routes external traffic to a local development server for remote testing.

### Software Engineering & Architecture

- [Mirrored Device Controllers](https://awesome-repositories.com/f/software-engineering-architecture/tool-exposure-interfaces/device-control-interfaces/mirrored-device-controllers.md) — Synchronizes clicks, scrolls, and form inputs across all connected devices to ensure they reflect the same user state. ([source](https://browsersync.io/docs/options))

### Security & Cryptography

- [Development Server Security](https://awesome-repositories.com/f/security-cryptography/cryptography/ssl-tls-certificate-management/automated-https-management/development-server-security.md) — Secures local traffic with SSL encryption to test features that require a secure connection.
- [Local Development HTTPS](https://awesome-repositories.com/f/security-cryptography/reverse-proxy-security/self-hosted-https-configurations/local-development-https.md) — Enables local HTTPS encryption to test features requiring secure connections on a development machine. ([source](https://browsersync.io/docs/options))
