Parcel

The zero configuration build tool for
  • the web.
  • JavaScript.
  • CSS.
  • HTML.
  • TypeScript.
  • React.
  • images.
  • SASS.
  • SVG.
  • Vue.
  • libraries.
  • Less.
  • CoffeeScript.
  • Node.
  • Stylus.
  • Pug.
  • Electron.
  • Elm.
  • WebGL.
  • extensions.
  • GraphQL.
  • MDX.
  • XML.

Parcel 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.

Get started GitHub
Trusted by:

A build tool for the rest of us.

Parcel starts with a great development experience, from starting a new project, to iterating and debugging, and shipping to production. No more fiddling with configuration, or spending hours to keep up with best practices – it just works!

Zero config

Start with an HTML file. Add a <script> tag. Maybe some CSS. How about TypeScript? SASS? Images? No problem. Parcel works out of the box just as you'd expect.

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. And when you use a file type that isn't included by default, Parcel will automatically install all of the necessary plugins and dev dependencies for you!

Get started →
index.html
<html>
  <head>
    <title>My First Parcel App</title>
    <link rel="stylesheet" href="styles.css">
  </head>
  <body>
    <h1>Hello, World!</h1>
    <script type="module" src="app.tsx"></script>
  </body>
</html>

Dev server

Parcel includes a development server out of the box. Just run parcel index.html to get started.

Need HTTPS? Run Parcel with the --https flag, and it will automatically generate a certificate for you! Or, if you like, you can provide your own.

Parcel also has a built-in API proxy, which can help simulate your production environment.

Learn more →

Hot reloading

When you make a change, Parcel automatically updates your code in the browser – no page reload necessary!

Parcel also integrates with React Fast Refresh and the Vue Hot Reloading API to automatically preserve your application state between updates. This gives you instant feedback as you make changes, without taking you out of context.

Learn more →

Diagnostics

If you make an error in your code or configuration, Parcel displays beautiful diagnostics in your terminal and in the browser.

Every error includes a syntax highlighted code frame pointing to the exact location where the error occurred, along with hints about how to fix the issue.

Many diagnostics even include a documentation link where you can learn more.

$ parcel index.html
Server running at http://localhost:1234
🚨 Build failed.

@parcel/core: Cannot resolve 'ract' from './index.js'
/dev/app/index.js:1:19
> 1 | import React from 'ract';
>   |                   ^^^^^^
  2 | 
  3 | function Test() {

@parcel/resolver-default: Cannot find module 'ract'
Did you mean 'react'?