How to Sideload Chrome Extensions (Load Unpacked)

To run an extension that is not from the Chrome Web Store on your own Windows or Mac computer, load its unpacked folder in Developer mode. Google’s guide Distribute your extension describes it as the option for people “just building extensions for yourself”, and warns that unpacked extensions “should only be used to load trusted code during the development process.”

Load an unpacked extension

These steps follow Google’s Hello World extension tutorial. You need a folder that contains the extension’s manifest.json file.

  1. Open the Extensions page by typing this into a new tab:
    chrome://extensions
    Or click the Extensions puzzle-piece button and select Manage Extensions.
  2. Turn on Developer mode with the switch at the top right.
  3. Click Load unpacked and select the extension’s folder.

The extension appears in the list. Leave the folder where it is: Chrome loads the extension from that folder.

After you change the code

Chrome does not watch the folder for changes. Google’s tutorial says to go back to the Extensions page and click the refresh icon on the extension’s card. Changes to the manifest, the service worker or content scripts need that reload (content scripts also need the web page reloaded). Changes to the popup or options page do not.

If something breaks, an Errors button appears on the extension’s card. Click it to see what went wrong.

What about .crx files?

A .crx file is a packed extension. On Windows and Mac you cannot install one you downloaded from a website. Google’s distribution guide says: “Only extensions hosted on and signed by the Chrome Web Store can be directly installed by users”, and “Windows and macOS users can only install self-hosted extensions through enterprise policies.” Linux is the exception: Google’s Self-host for Linux guide says it is “the only platform where Chrome users can install extensions that are hosted outside of the Chrome Web Store.”

If someone sends you a .crx file for an extension that is also in the store, install it from the store instead. Store installs update automatically. If Chrome refuses an extension for another reason, see Chrome extensions not installing.

Pack your own extension

Developers who self-host on Linux can turn their folder into a .crx file with the Pack extension button on the Extensions page (Developer mode must be on). Google’s Linux guide explains that packing creates a .crx file and a .pem file holding the extension’s private key, and warns: “Do not lose the private key!” You need the same key to publish updates. It also documents command-line flags for packing:

chrome.exe --pack-extension=C:\myext --pack-extension-key=C:\myext.pem

Installing extensions on many computers

For work or school computers, administrators install extensions through Chrome’s enterprise policies, not Developer mode. Google’s alternative installation methods page also covers the Windows registry and the preferences file on Mac and Linux. On Windows and Mac, those methods must point to an extension in the Chrome Web Store. See our Chrome policies guide for the admin side.

Before you load code you did not write

An unpacked extension has the same reach as any extension: depending on its permissions, it can read and change the pages you visit. Load only code you have read or that comes from someone you trust, and remove it from chrome://extensions when you no longer need it.