Drupal ist ein Web-Content-Management-System (CMS) und Framework, das ursprünglich von dem Informatiker Dr. Dries Buytaert (* 19. November 1978) aus Belgien konzipiert wurde und inzwischen in den unterschiedlichsten Anwendungsbereichen weltweit zum Einsatz kommt.
Drupal ist Freie Software und steht unter der GNU General Public License. Es ist in PHP geschrieben und verwendet MySQL oder PostgreSQL als Datenbank (Oracle in Entwicklung).
Mit Drupal lassen sich, wie mit anderen Content-Management-Systemen auch, Inhalte ins Internet stellen und einfach bearbeiten. Drupal unterscheidet sich von anderen CMS vor allem durch die Umsetzung von Ansätzen einer Social Software und unterstützt damit den Aufbau von Communities, die gemeinsam an Inhalten arbeiten und sich über Themen austauschen und informieren wollen. So können Nutzer beispielsweise eigene Weblogs anlegen, sich in Foren austauschen oder Artikel veröffentlichen. Es wird ein differenziertes Rollen- und Rechtesystem unterstützt.
Drupal steht seit 2001 als Open Source zur Verfügung. Inzwischen wird Drupal für viele hunderttausende Websites der unterschiedlichsten Art auf der ganzen Welt eingesetzt, so zum Beispiel für die Leser-Kommentare auf der Website der Wochenzeitung Die Zeit.
Neben anderen bekannten CMS wie z. B. Mambo, Joomla! und TYPO3 hat es mit seinem spezifischen Ansatz einen Platz unter den „großen“ PHP-basierten Open-Source-CMS etablieren können. Drupal hat eine starke Online-Community, die ihre Mitglieder aktiv unterstützt. Außerdem gibt es auch im deutschsprachigen Raum Unternehmen, die kommerziellen Support anbieten und Entwicklung professionell betreiben.
Drupal hat den englischen Packt Publishing Open Source Content Management System Award in der Kategorie „Overall Winner“ in den Jahren 2007 und 2008 gewonnen.
Das Open-Source-CMS Drupal besteht aus einem Core (dt. Kern), der die Grundfunktionalität liefert, und Modulen, die bei Bedarf vom Administrator dem System hinzugefügt werden können. Durch die Vielzahl der verfügbaren Module kann das System an Anforderungen eines CMS angepasst werden.