Install a third-party storefront theme

What’s in this topic

This topic describes how to install a third-party theme for a Magento 2 store.

To install a theme, you need to add its code to your Magento 2 instance code base, and then register it in the database. The way a theme is distributed determines how to do this:

  • if a theme is just a set of files, for example an archive, add the theme manually.
  • if a theme is a composer package, install it using composer.
  • if a theme is distributed as an extension, use the Web Setup Wizard in Magento Admin.

The following sections contain more information about each installation flow.

Prerequisites

Set your Magento application to the developer or default mode.

Install a theme manually

To install a theme manually:

  1. Make sure that the directory structure you are copying is <VendorName>/<theme>. And all the theme files are in the <theme> directory.

  2. Copy this directory to the <Magento root dir>/app/design/frontend directory.

Install a theme as composer package

To install the theme as composer package, follow the instructions in the Install, manage, and upgrade modules topic.

  • Manually installed themes are stored in the app/design/ directory. Themes loaded through Composer are located in the vendor/ directory and can be stored anywhere in root.

  • When the application starts up, Composer executes each file included in the autoload.files section. registration.php then registers itself as a theme.

Composer-based themes are loaded from external sources and cannot be modified directly, whereas local themes are part of the project source code and therefore can be edited directly.

Install a theme as an extension

If a theme is distributed on Magento Marketplace, install it with the Web Setup Wizard. See Install the Extension.

Register a theme

After you create or install a theme, open the Magento Admin or reload any Magento Admin page. This way the theme gets registered and added to the database.

To make sure the theme is registered, in the Magento Admin navigate to Content > Design > Themes. If a theme is registered, it is displayed in the list of available themes.