Last updated July 5, 2016. Created on September 16, 2007.
Edited by Anonymous (not verified), mgosur, NewSites, peterx. Log in to edit this page.

  1. Download the theme.
    You can find themes on, as well as some external sites. Make sure the version of the theme matches your version of Drupal. Note that themes labeled "DEV" are in a development stage. They may be written for a previous/current/future version of Drupal, and they are considered unstable and should be handled with care.
  2. Extract the files.
    When you first get the theme, it will appear in a compressed file format such as 'tar.gz'. On Windows, use a program like 7-Zip to extract it. On the Mac, you can use Stuffit Expander. To extract the file using the Unix command line:
    tar -zxvf themename-drupalversionnumber.tar.gz
    You should see a list of files extracted into a folder.
  3. Upload the folder.
    FTP/Copy/SCP your files to the desired themes folder in your Drupal installation. Since the themes folder at the top level of Drupal is reserved for Drupal core themes, you should create a sites/all/themes/ directory for contributed (non-core) themes and put uploaded themes there. If you are running a multi-site installation of Drupal, you can create a themes folder under sites/ and put themes there that are specific to a particular site in your installation. Themes that will be shared between all sites should be placed in sites/all/themes.
  4. Read the directions.
    If the theme has an installation file (usually INSTALL.txt and/or README.txt), read it for specific instructions. There are themes that require special treatment to function properly.
  5. Enable the theme.
    Go to "Appearance" on the main Administration menu of your site. Check the 'Enabled' box next to the theme.
  6. Optional: Make it the active, default theme.
    Check the 'default' box to make this the chosen theme for your site. Enabled alone will allow users to select the theme, if you have allowed that permission.
  7. Click the 'Save Configuration' button at the bottom.

If you run into problems, check the themes issue queue and search the forums. If your problem hasn't already been addressed, post a question and someone will try to help you out.

Drupal 8

Drupal 8 places all core code and themes under a directory named /core/themes/ and all contrib or custom themes in webroot directory /themes. /sites/all/themes, and the other Drupal 7 options are still available for your themes.

The themes still download and expand the same. When you look inside, the main differences are:

  • The .info file changes to .info.yml.
  • The .tpl.php files change to .html.twig.

The following is the README.txt from Drupal 8 directory /themes.

Place downloaded and custom themes that modify your site's appearance in this
directory to ensure clean separation from Drupal core and to facilitate safe,
self-contained code updates. Contributed themes from the Drupal community may
be downloaded at

It is safe to organize themes into subdirectories and is recommended to use
Drupal's sub-theme functionality to ensure easy maintenance and upgrades.

In multisite configuration, themes found in this directory are available to
all sites. In addition to this directory, shared common themes may also be kept
in the sites/all/themes directory and will take precedence over themes in this
directory. Alternatively, the sites/your_site_name/themes directory pattern may
be used to restrict themes to a specific site instance.

Refer to the "Appearance" section of the README.txt in the Drupal root
directory for further information on theming.

screencap-choose-a-theme.jpg336.16 KB

Looking for support? Visit the forums, or join #drupal-support in IRC.


fuzzy76’s picture

Is there any reason this article doesn't mention the webbased install methods (from URL or using a file upload)?

I found it to be a bit picky when running under suphp, but couldn't find a page to post my warning about it. It requires umask 022 instead of the default 077 in suphp.conf

JAScarb’s picture

Just to report, the web based install alternative not mentioned here got me blocked by my server's automatic spam spotting bot. Since I'm a web developer and a number of my clients' websites were on the same server, I laboured under the illusion the server was down until querying it with my hosts.

mahes89131’s picture

Am trying to install same theme at different sub-domains like,, etc i have installed new drupal at all sub-domains safely but when i try to put existing theme from main domain it shows me some weird error. Can someone please help me out what steps needs to follow as i have tried above steps but it is not working for me. Right now am using wordpress (at until drupal issue resolves.

bwvdkupper’s picture

Ik get this message in appearences when I upload a theme? What do I wrong?

Notice: Undefined index: name in system_sort_modules_by_info_name() (line 949 of /usr/www/users/medipr/drupal3/modules/system/

keyur solanki’s picture

I have installed theme name Venture Theme 7.x-1.1 in drupal 7.34 in windows local machine.
But i could not getr any visualize from the theme. No slider, no menu,no footers, no pages etc.
Nothing that it shows me into the theme. and i set the drupals in-built theme as well.
But it shows mew nothing than just a clour.

Thnx..and please help me out with the same.

Yvette_AUS’s picture

all fixed

ehinor’s picture

my drupal 8 only show option link as "install" and "set as default" when i choose install set as default, error message do occurs, something like unable to detect bodyobject function. i have tried many theme but still the same.

drupalinthailand’s picture


Drupal, smart as always, have 2 /themes folder, one at root and one in /core directory.

If you want to manually put your theme files in the /themes root folder, then how to find this new theme on your website ?

Thank you.

swim’s picture

Drupal should automatically pick up any new themes in the /themes directory. Once added; login and navigate to /admin/appearance. For good measure try clearing your caches and check again if it's not listed. Otherwise the theme .info.yml file might be missing or be malformed.

fuzzy76’s picture

The article specifically says /theme is reserved for core, and you should use /sites/all/themes.

swim’s picture

For D7 yes, however the above user (drupalinthailand) is talking about D8; as D7 doesn't have a core folder. For D8 themes should live in /themes.

fuzzy76’s picture

My bad :)