Black Friday: 30% OFF on all plans, applied automatically at checkout View plans
Log in Cart

Stylesheet is missing: how to find the theme’s real ZIP

The theme isn't broken. WordPress rejected the author's full package because it looked for style.css at the root and didn't find it.

Updated on Sep 2, 20261 min read
Installation

The package could not be installed. The stylesheet is missing. The message sounds scarier than the problem: the theme is complete, you just uploaded the packaging instead of the content.

WordPress identifies a theme by a single file: the style.css at the root of the ZIP, with the Theme Name: header inside it. If it opens the package and finds documentation and licensing folders instead of that file, it refuses to install.

What is inside the package you downloaded

Extract the ZIP and you will see something like this:

  • documentation/: instructions in HTML
  • licensing/: the license
  • psd/ or design/: artwork files, when the author includes them
  • theme-name.zip: the installable file
  • theme-name-child.zip: the child theme, when it exists

It is the theme-name.zip that you upload in Appearance > Themes > Add New > Upload Theme.

How to identify the correct installation ZIP for certain

Open the candidate ZIP. If style.css, index.php, and functions.php exist at its root, it is the right file. That trio is the signature of a WordPress theme and does not show up in any of the package’s other folders.

Watch out for a detail that wastes half an hour: sometimes the inner ZIP contains another folder with the same name, and style.css sits one level down. In that case WordPress refuses it too. Compress the folder that has style.css at its root and upload that new ZIP.

Install the child theme too, if there is one

When the package includes a -child.zip, install both and activate the child. It is not a formality: it is what keeps the theme’s next update from wiping out your changes. The reasoning is in Updating without losing your customization.

If the error persists with the correct file

Then it is no longer the package. The two usual suspects, in this order: the server’s upload limit, when the theme is large, and an interrupted download. On the second one, it is worth reading before downloading again: most ‘corrupted downloads’ are not.