Webpack was created by Tobias Koppers in 2012 in Nuremberg, Germany. It grew from a personal project into one of the most critical tools in the JavaScript ecosystem, with over 64,000 GitHub stars and billions of npm downloads.
At its core, Webpack takes modules with dependencies and generates static assets representing those modules. It doesn’t just handle JavaScript — through loaders, it can process CSS, images, fonts, HTML, and virtually any other file type. This “everything is a module” approach was groundbreaking when it first appeared.
The plugin system is incredibly extensible. HtmlWebpackPlugin generates HTML files, MiniCssExtractPlugin pulls CSS into separate files, and DefinePlugin lets you create global constants at compile time. Code splitting is one of Webpack’s killer features — it can automatically split your code into chunks that are loaded on demand, dramatically improving initial page load times.
Webpack 5, released in October 2020, introduced Module Federation, which lets multiple independently-built applications share code at runtime. This became a foundational technology for micro-frontend architectures. It also brought improved caching, better tree shaking, and reduced bundle sizes.
While newer bundlers like Vite and esbuild have taken market share for development workflows, Webpack remains the most widely used bundler in production. It’s the default bundler for Create React App and many other frameworks. Companies like Airbnb, Netflix, and Instagram rely on it daily.