Difference between Drupal 7 and Drupal 8

Key Difference: Drupal 8 features many differences over Drupal 7. One major difference is that it replaces the default theme engine from PHPTemplate to its own Twig. Drupal 8 features better CSS and JavaScript integration, but it also changes the manner in which they must be added. It also launches many new features.

Drupal is a type of content management software (CMS), which basically means that it helps create websites and applications, most of which we use today. As a CMS, Drupal forms the core software that is modified and         

According to the Drupal website, “Drupal is an “out of the box” web content management tool as well as a customizable platform.” Basically, it means that the software can be used as it, or it can be modified to suit individual needs. The website boasts that “Drupal is the #1 platform for web content management among global enterprises, governments, higher education institutions, and NGOs’, and that it is used by over 1,000,000 websites.

With the launch of Drupal 8, the company announced that Drupal 8 features easier content authoring, it is built for a mobile-first experience, supports more languages, as well as better interface translations. The company also states that as compared to 7, 8 supports a better ecosystem for digital integrations, which means that it has better support for email, analytics, marketing automation, and other digital tech solutions.

Drupal has been originally based off PHP, however, in Drupal 8 the company has replaced the default theme engine from PHPTemplate to Twig, which it is now introducing. However, this raises a concern that users migrating from Drupal 7 to 8, will have to relearn and change the code. For example: the theme_* functions and PHP-based *.tpl.php files have now been replaced by *.html.twig templates ().

There are additional changes in the manner that Drupal 7 and Drupal 8 address CSS and JavaScript. Drupal 8 features better CSS and JavaScript integration, but it also changes the manner in which they must be added. While Drupal 7 used drupal_add_css() and drupal_add_js() functions to add CSS or JS, Drupal 8 attaches these assets in the #attached property of a render array using libraries.

Ideally, Drupal 8 is an improvement over Drupal 7. However, a number of people are frustrated with Drupal 8, primarily due to the larger learning curve which needs to be overcome to fully utilize Drupal 8. Drupal 8 makes a number to huge core changes over 7, some of which has left developers flabbergasted. They now have to make sense of a new system, which is not entirely stable as it is still new. Still, over time as developers get used to the changes in Drupal 8, the new version of the popular CMS has the potential to become as great as Drupal 7 is currently considered to be.

Please refer to the table below for additional differences between Drupal 7 and Drupal 8.

Comparison between Drupal 7 and Drupal 8:


Drupal 7

Drupal 8

Type of

Content management software (CMS)

Content management software (CMS)





January 5, 2011

October 7, 2015


Older, matured with time, and has lots of modules, lots of documentation, and lots of tutorials.

Newer, less matured, and has less modules, less documentation, and less tutorials.


XHTML markup by default

Semantic HTML5 markup by default

Front-end libraries

jQuery v2.x

jQuery v2.x, Modernizr, Underscore.js and Backbone.js.

Schema.org markup

Does not output schema.org markup

Drupal 8's core RDFa module outputs schema.org markup

WAI-ARIA attributes

Not an extensive use of WAI-ARIA attributes.

Extensive use of WAI-ARIA attributes.

IE Support

Supports IE 6, 7 and 8

Drops support for IE 6, 7 and 8


Drupal 7 includes jQuery 1.4.4 and jQuery UI 1.8.7

Uses jQuery 2.0 and other code that assumes modern HTML5/CSS3 browser support.

SVG support

Supported browsers that did not support SVG (including IE8 and Android Browser 2.3)

Does not support browsers that do not support SVG (including IE8 and Android Browser 2.3)

Default Theme Engine


theme_* functions and PHP-based *.tpl.php files

Introduces Twig

*.html.twig templates ()

CSS and JavaScript aggregation

Less effective CSS and JavaScript aggregation, as compared to 8

Improved CSS and JavaScript aggregation.

Adding CSS or JS

drupal_add_css() and drupal_add_js() functions

Attaches JS/CSS assets in the #attached property of a render array using libraries

CSS Class Changes in Menu

.menu li.expanded

.menu li.collapsed

.menu li.leaf

.menu li.active-trail

.menu li.first

.menu li.last






.menu-item—leaf – removed


Contains more IDs than Drupal 8's CSS.

Contains fewer IDs than Drupal 7's CSS.

CSS (file) structure

CSS (file) structure is not based on SMACSS & BEM.

CSS (file) structure is based on SMACSS & BEM.

CSS3 pseudo selectors

Used first/last/odd/even classes

Uses CSS3 pseudo selectors.

Core modules

Many preprocess functions and CSS files are included in core modules.

Replaces many preprocess functions and CSS files which were previously included in core modules by utilizing Classy, a core base theme that injects classes into markup, and includes corresponding CSS.

Breakpoint Media Queries

Does not use breakpoint media queries to control how the site looks on different devices.

Uses breakpoint media queries to control how the site looks on different devices.


Views is a contributed module

Views is added as one of the core module


Does not utilize CkEditor

CkEditor, a core module in Drupal 8, is a visual html editor used for editing web pages that brings common word processor features directly to web pages


Must go to edit page to make edits

Inline editor helps edit contents of a page without going to the edit page, instead just right click to edit.

Picture Module

Does not have Picture Module

Features Picture Module that automatically resize the images for different screens.


Does not include Symfony framework

Uses Symfony framework and its MVC architecture which makes code easy to maintain, scale, and reuse.

OOP Concepts

Has less Object Oriented Programming concepts

Comes with Object Oriented Programming concepts to the most part of the system


Does not feature REST

Representational State Transfer (REST) allows interaction with other applications for creating, reading, updating and deleting resources.

New E-mail Field

Simple email field

Email Field automatically validates e-mail address and generates a ‘mailto:’ link when displayed.

New Telephone Field

Simple Telephone Field

Telephone Field generates a 'tel:' link when displayed for telephony apps like Skype and others

Reference: Drupal, Drupal 8, Drupal 7 vs 8, Zyxware
Image Courtesy: churchm.ag, drupal.org

Top 10 Most Searched Differences Most Searched in Games and Recreation
Most Searched in Beauty and Style Most Searched in Pregnancy and Parenting
Leadership vs Management
Order vs Ask
Nokia Lumia 920 vs BlackBerry Z10

Add new comment

Plain text

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.