I am new to Drupal and am curious if it is better to start a theme from scratch, or extend one that is already out there. Also, are there any resources out there that someone could point me towards?

I am using Drupal 7.8.

4 Answers 4


I've done both many, many times and my experience has led me to say: I would start a theme from scratch every time.

Most of the starter/base themes for Drupal contain massive amounts of superflous HTML code (because they have to allow for every possible eventuality) which introduces more DOM complexity than there ever needs to be in a page. This is bad for your page load time, which in turn is bad for SEO. It's also bad for code readability and Javascript performance on the client side.

The other thing is that (rightly or wrongly) you won't always agree with the decisions the developer(s) of the theme have made with their HTML/CSS/JS and it can be very time consuming to fix an existing theme to conform to your own standards.

Why not create your own base theme? It would be a good exercise to learn how to do it and you'll be 100% sure that the code is as streamlined as you want it to be. From then on you can just use your own base theme each time you want to create a new one.

The link to the theming guide in alastair's answer would be the perfect place to start.


Extend an existing one. There are loads of starter or "base" themes available to choose from depending on your needs. I think for Drupal 6 the recommendation was to use the Zen theme, but that's been superseded for Drupal 7.

Drupal.org provides a comprehensive guide to theming Drupal 6 and 7.

Good luck!


Start from scratch. It's good practice and really helped me understand theming a lot.


You should really checkout the Omega theme, and watch the video that is on this page (you have to scroll a little).

I promise you will not ever choose another base theme again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.