Browserify
Browserify is a free, MIT-licensed tool that lets browser code use Node-style require() calls.
What Browserify is
Browserify is a free, MIT-licensed tool that lets browser code use Node-style require() calls. It recursively follows require() statements, resolves npm modules and relative paths with Node’s module lookup rules, and bundles the dependency graph into a JavaScript file loadable by a script tag. Browserify works from its command-line interface or JavaScript API, with options for transforms, transform commands, and plugins. The --standalone option creates a UMD bundle, while --debug adds source maps. Bundles support process.nextTick(), __dirname, and __filename, and include browser shims for Node libraries such as events, stream, path, url, assert, buffer, util, querystring, http, vm, and crypto. Watchify is recommended for cached development rebuilds, and Tinyify for tree-shaken production bundles. The project notes that many non-I/O npm modules work after browserifying, while others require additional work.
Good
- Uses Node-style require() in browsers
- Bundles npm and relative modules
- JavaScript API and CLI
- Source maps supported
- Plugins and tree shaking available
Watch out
- Some modules need additional work
- Only latest major version is supported
- Browser-specific shims may limit compatibility
Who it suits
Browserify suits developers who want Node-style module loading and npm dependencies in browser bundles. It is useful when source maps, plugins, UMD output, or tree-shaken builds are needed.
Verdict
Browserify provides dependency bundling with Node-compatible behavior, browser shims, and build extensions. Review module compatibility before relying on it for a particular browser project.
The facts
Each one read from Browserify's own pages, with the date it was checked.
What it does
- Additional integration
- The site points to Beefy and run-browser as tools for automating Browserify development.checked 8 Oct 2026
- API
- The README documents using Browserify directly through its JavaScript API as well as from the command line.checked 8 Oct 2026
- Build formats
- The command-line interface supports generating a UMD bundle with the --standalone option.checked 8 Oct 2026
- Built-in shims
- The README lists browser-specific shims for many Node built-in modules, including assert, buffer, crypto, events, path, stream, and url.checked 8 Oct 2026
- Bundling
- It recursively analyzes require() calls and bundles the dependency graph into a file that can be loaded with a script tag.checked 8 Oct 2026
- Compatibility limit
- The project README says many NPM modules that do not perform I/O work after being browserified, while others require more work.checked 8 Oct 2026
- Core library shims
- The site lists browser versions of Node core libraries including events, stream, path, url, assert, buffer, util, querystring, http, vm, and crypto.checked 8 Oct 2026
- Debugging
- The --debug option adds source maps to bundles for debugging.checked 8 Oct 2026
- Dependency discovery
- It parses require() calls to traverse the project dependency graph and bundle dependencies into a JavaScript file.checked 8 Oct 2026
- Development rebuilds
- The site recommends Watchify, described as a compatible caching bundler for fast bundle rebuilds during development.checked 8 Oct 2026
- Install
- The site instructs users to install Node.js and then install Browserify globally with npm install -g browserify.checked 8 Oct 2026
- License
- The GitHub repository identifies its license as MIT.checked 8 Oct 2026
- Module sources
- Browserify can bundle modules installed by npm and supports relative paths and module paths resolved using Node's module lookup algorithm.checked 8 Oct 2026
- Node compatibility
- The site says process.nextTick(), __dirname, and __filename work in Browserify bundles.checked 8 Oct 2026
- NPM modules
- The site says Browserify lets users use many NPM modules in the browser.checked 8 Oct 2026
- Optimized bundles
- The site recommends tinyify for optimized, tree-shaked production bundles.checked 8 Oct 2026
- Production optimization
- The site recommends Tinyify for optimized, tree-shaken production bundles.checked 8 Oct 2026
- Purpose
- Browserify lets you use Node-style require() in browser code by bundling dependencies.checked 8 Oct 2026
- Security support
- The project security policy says only the latest major version is supported and vulnerability reports should go through Tidelift.checked 8 Oct 2026
- Support
- The official site directs users to the #browserify IRC channel on freenode or to contact @browserify on Twitter for help.checked 8 Oct 2026
- Transforms and plugins
- The command-line options support transform modules, transform commands, and plugins.checked 8 Oct 2026




