O diagramă arătând relaţia dintre Model, Vizualizare, şi Controler
Multe şabloane folosesc reţeaua arhitecturală Model View Controller (MVC) pentru a separa modelul de date cu regulile de tranzacţii de interfaţa utilizatorului

Modulele Drupal din contribuţii oferă o mare varietate de caracteristici, inclusiv galerii de imagini, tipuri personalizate de conţinut şi listări de conţinut, editoare WYSIWYG, mesagerie privată, instrumente de integrare, etc. Situl web Drupal conţine o listă cu 3709 module gratuite (în data de 1 martie 2009), scrise şi oferite de comunitatea Drupal.[23][24][25]
Setul de bază Drupal este proiectat modular cu un sistem de "hook" şi "callback", care sunt accesate intern prin API.[1] Acest design permite terţe contribuţii pentru module şi teme, în scopul extinderii sau modificării comportamentului implicit al lui Drupal fără a modifica codul de bază al aplicaţiei.
Proiectarea modulară a lui Drupal, care izolează fişierele de bază Drupal de contribuţiile terţe cu module şi teme, creşte flexibilitatea şi securitatea şi permite administratorilor Drupal să actualizeze fără probleme Drupal cu noile versiuni de bază, fără posibile suprascrieri ale personalizărilor sitului web. Pentru a menţine această separare, administratorilor Drupal li se recomandă să evite alterarea software de bază Drupal.
Începând cu februarie 2008, traducerile pentru interfaţa Drupal este disponibilă pentru 44 limbi plus engleza (implicită).[1] Unele din ele se citesc de la dreapta la stanga, precum araba, persana, şi ebraica. Drupal 6 oferă suport îmbunătăţit pentru conţinut şi administrarea conţinutului în multiple limbi.[2]