parcel is a free, open source build & deployment project written in JavaScript and released under MIT. It has 44,025 GitHub stars, 2,284 forks and 606 open issues, and was last pushed 11 days ago. On this registry it ranks #4 of 59 tracked projects in Build & Deployment, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is parcel?

What it is

Parcel is a zero configuration build tool for the web, distributed as the parcel package on npm and licensed under MIT. It lives in the JavaScript ecosystem and is written primarily in JavaScript, with its JavaScript compiler implemented in Rust for native performance. The project has been developed for roughly nine years, carries more than 44,000 stars and over 2,200 forks on GitHub, and its documentation is hosted at parceljs.org.

The concrete problem Parcel solves is the configuration burden that normally accompanies bundling a web application. Rather than requiring a hand-written pipeline of loaders, plugins, and transform rules, Parcel handles HTML, CSS, and JavaScript along with assets such as images, fonts, and videos out of the box. It ships a built-in development server with hot reloading and error diagnostics, so a project can be started and iterated on without assembling a toolchain first. The same tool then carries that project toward production by applying optimization passes automatically.

Key capabilities

  • Zero configuration support for HTML, CSS, JavaScript, and asset types including images, fonts, and videos.
  • Built-in development server with hot reloading and error diagnostics.
  • JavaScript compiler written in Rust, with builds parallelized across worker threads to use all available CPU cores.
  • Persistent caching that avoids rebuilding code that has not changed, including across restarts.
  • Automatic production optimization covering tree-shaking, minification of JavaScript, CSS, and HTML, image resizing, content hashing, and code splitting.
  • Target-aware transforms, including modern and legacy browser output plus zero config JSX and TypeScript compilation.
  • Extensible configuration format and plugin system for projects whose build requirements outgrow the defaults.

Who uses it and how

  • Teams building web applications who want a working dev server and production build without writing bundler configuration.
  • Library authors packaging distributable output, following the dedicated library guide in the documentation.
  • Projects migrating from Parcel v1, which the documentation addresses with a migration guide.
  • Applications that need to ship to multiple browser targets, using Parcel's automatic per-target transforms.
  • Larger codebases that start with the defaults and later extend the build through the plugin system and configuration format.

Getting started

Install the parcel package from npm and run it against an entry point; the documentation provides separate guides for building a webapp and building a library. A migration guide covers moving an existing project from Parcel v1.

When to use it β€” and when not to

Parcel fits projects that value a working default pipeline over fine-grained control, and it scales by letting configuration and plugins be added later rather than up front. A self-hoster runs it as a local build tool and dev server,

project readme (upstream, from github) β€” read inline

Parcel

Backers on Open Collective Sponsors on Open Collective Build Status npm package npm package Discord Twitter Follow

Parcel is a zero configuration build tool for the web. It combines a great out-of-the-box development experience with a scalable architecture that can take your project from just getting started to massive production application.

Features

  • 😍 Zero config – Parcel supports many languages and file types out of the box, from web technologies like HTML, CSS, and JavaScript, to assets like images, fonts, videos, and more. It has a built-in dev server with hot reloading, beautiful error diagnostics, and much more. No configuration needed!
  • ⚑️ Lightning fast – Parcel's JavaScript compiler is written in Rust for native performance. Your code is built in parallel using worker threads, utilizing all of the cores on your machine. Everything is cached, so you never build the same code twice. It's like using watch mode, but even when you restart Parcel!
  • πŸš€ Automatic production optimization – Parcel optimizes your whole app for production automatically. This includes tree-shaking and minifying your JavaScript, CSS, and HTML, resizing and optimizing images, content hashing, automatic code splitting, and much more.
  • 🎯 Ship for any target – Parcel automatically transforms your code for your target environments. From modern and legacy browser support, to zero config JSX and TypeScript compilation, Parcel makes it easy to build for any target – or many!
  • 🌍 Scalable – Parcel requires zero configuration to get started. But as your application grows and your build requirements become more complex, it's possible to extend Parcel in just about every way. A simple configuration format and powerful plugin system that's designed from the ground up for performance means Parcel can support projects of any size.

Getting Started

See the following guides in our documentation on how to get started with Parcel.

Documentation

Read the docs at https://parceljs.org/docs/.

Community

Contributors

This project exists thanks to all the people who contribute. [Contribute]. contributors

Backers

Thank you to all our backers! πŸ™ [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Frequently asked questions

Is parcel free to use?

parcel is open source under the MIT licence. There is no licence fee and no seat count β€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does parcel do?

The zero configuration build tool for the web. πŸ“¦πŸš€

What is parcel written in?

parcel is primarily written in JavaScript. Its source is publicly available at https://github.com/parcel-bundler/parcel, and it has 44,025 GitHub stars.