TYPO3 is a web content management system (CMS) written in the programming language PHP. It is free and open-source software released under the GNU General Public License version 2.

TYPO3 is similar to other content management systems such as Drupal, Joomla!, and WordPress. It is used more widely in Europe than in other regions, with a larger market share in German-speaking countries, the Netherlands, and France.

TYPO3 was acknowledged as a Digital Public Good by the Digital Public Goods Alliance in April of 2025.

TYPO3 allows for the separate maintenance of code and content. It can be extended with new functions without writing any program code. TYPO3 supports publishing content in multiple languages due to its built-in localization system.

History and usage TYPO3 was initially authored by Kasper Skårhøj in 1997. It is now developed by over 300 contributors under the lead of Benjamin Mack.

Calculations from the TYPO3 Association show that it is currently used in more than 500,000 installations. The number of installations detected by the public website "CMS Crawler" was around 384,000 in February 2017.

Features TYPO3 provides a base set of interfaces, functions and modules. Most functionality exceeding the base set can be implemented via the use of extensions. More than 5000 extensions are currently available for TYPO3 for download under the GNU General Public License from a repository called the TYPO3 Extension Repository, or TER.

Compatibility TYPO3 is able to run on most HTTP servers such as Apache, Nginx and IIS on top of Linux, Microsoft Windows, FreeBSD, macOS, and OS/2. It uses PHP 7.2 or newer and any relational database supported by the TYPO3 DBAL including MySQL/MariaDB, PostgreSQL, and SQLite. Some 3rd-party extensions not using the database API support MySQL as the only database engine. The system can be run on any web server with at least 256 MB RAM and a CPU appropriate for that RAM.

The back end can be displayed in any modern browser with JavaScript. There is no browser restriction for displaying user-oriented content generated by TYPO3. A developer setting up a website with TYPO3 would need to work intensively with the Domain-specific language Typoscript.

System architecture Conceptually, TYPO3 consists of two parts: the front end, visible to visitors, and the administrative back end. The front end displays the web content. The back end is responsible for administration and managing content. The core functions of TYPO3 include user privileges and user roles, timed display control of content (show/hide content elements), a search function for static and dynamic content, search-engine friendly URLs, an automatic sitemap, multi-language capability for front and back ends, and more.

Like most modern CMS's, TYPO3 follows the policy of separation of content and layout: The website content is stored in a relational database, while the page templates are stored on the file system. Therefore, both can be managed and updated separately.

TYPO3 defines various basic types of content data. Standard content elements are described as text, text with media, images, (plain) HTML, video etc. Various added types of content elements can be handled using extensions.

The fundamental content unit is a "page". Pages represent a URL in the front end and are organized hierarchically in the back end's page tree. Standard pages serve as "containers" for one or multiple content elements. There are several added special page types, including: shortcuts (they show content from another page) mount points (that insert a part of the page tree at the mount point) external URLs system folders (to handle complex data such as registered users)

Internally, TYPO3 is managed by various PHP arrays. They contain all the information necessary to generate HTML code from the content stored in the database. This is achieved by a unique configuration language called Typoscript.

Design elements Designing and developing with TYPO3 is commonly based on the following elements, among others:

Page tree Representation of all pages of a site, their structure and properties. Constants System-wide configuration parameters Template Since TYPO3 6, the system runs on the templating engine Fluid. Fluid combines HTML markup with conditions and control structures. It can be extended by custom view helpers written in PHP.

Until version 4.3, an HTML skeleton was used, with markers (e.g., ###MARKER###) and range markers, called subparts (e.g., <!-- ###CONTENT### Start --> … <!-- ###CONTENT### End -->); that were replaced by various content elements or served as a sub template. This template system can still be found in older extensions or installations.

Typoscript Typoscript is a purely declarative configuration language. In Typoscript, configuration values are defined, which are parsed into a system-wide PHP array. Typoscript is object-based and organized in a tree-like structure. Extensions Added plug-ins to enable more functions. See Extensions. PHP TYPO3 CMS is written in PHP. Thus, most features can be modified or extended by experienced users. For example, the XCLASS mechanism allows classes and methods to be overwritten and extended.

Extensions Extensions are the cornerstone in the internal architecture of TYPO3. A feature that was introduced with version 3.5 in 2003 is the Extension Manager, a control center managing all TYPO3 extensions. The division between the TYPO3 core and the extensions is an important concept which determined the development of TYPO3 in the past years. Extensions are designed in a way so they can supplement the core seamlessly. This means that a TYPO3 system will appear as a unit while actually being composed of the core application and a set of extensions providing various features.

They can be downloaded from the online repository (TER) directly from the back end, and are installed and updated with a few clicks. Every extension is identified by a unique extension key (for example, tt news). Also, developers can share new or modified extensions by uploading them to the repository.

Generally, extensions are written in PHP. The full command set of PHP 5.3 can be used (regarded the system requirements of the specific TYPO3 version), but TYPO3 also provides several library classes for better efficiency: Best known and most used is the Pibase library class. With introduction of TYPO3 4.3 in 2009, Pibase has been replaced (or extended) by the Extbase library, which is a modern, model–view–controller (MVC) based development framework. To ensure backward compatibility, both libraries can be used in the same TYPO3 installation. Extbase is a backport of some features of FLOW3, renamed Neos Flow, a general web application framework.Official Extbase MVC Framework Documentation

Notable projects

Several companies and organizations base their web or intranet sites on TYPO3. The majority are based in German-speaking countries, such as the state of Saxony-Anhalt, the German Green Party, the University of Lucerne (Switzerland), the University of Vienna (Austria) and Technische Universität Berlin. International organizations running one or more TYPO3 sites are: Airbus, Konica-Minolta, Leica Microsystems, Air France, Greenpeace, and Meda (Sweden).

Releases

Version history

Branch Version http://typo3.org/download/ Information on support cycles of TYPO3 versions Release date Major changes3.x 2001 First public release 17 May 2002 Several bug fixes 3 June 2002 Several bug fixes First version hosted on SourceForge 18 February 2003 Several bug fixes Introduced the Extension Manager, allowing users to write their own extension modules 30 April 2004 Create Extensible Hypertext Markup Language (XHTML) code in standard content elements XML storage for content elements Introduced basic database abstraction concept 24 September 2004 Simplified content-localisation Extended permission system Renewed TypoScript-Engine 23 May 2005 Multi-language ability for the back end (introduced language packs) GraphicsMagick support Improved front-end search 14 November 2005 Several bug fixes and security improvements4.x 7 April 2006 Back-end redesign for better user experience Restructured HTML output Introduced back-end skins and the new rich text editor Introduced workspaces (integrated versioning) Implementation of a database abstraction layer Enabled TYPO3 to work on Oracle and PostgreSQL Current Version: 4.0.13http://typo3.org/news/article/support-for-typo3-40-is-officially-over/ End of life of TYPO3 4.0 6 March 2007 Improved page tree with Ajax Introduced Inline Relational Record Editing (IRRE) Improved UTF-8 support and enabling of InnoDB features Current version: 4.1.15 24 May 2008 Many GUI improvements in the back end, including AJAX features, extended features of the text editor Improvement of front-end login and extension update process Current version: 4.2.17 30 November 2009 Modified front-end editing Flash uploader and recycle bin for the back end New system reports & system scheduler Introduced the new caching framework Security improvements with Salt (cryptography) & RSA Integration of Extbase & Fluid features Current version: 4.3.14 22 June 2010 Full back-end redesign incl. performance improvements Simplified installation, first Introduction Package a complete website template CSS and JavaScript compression, HTML5 support in the front end Current version: 4.4.15 26 January 2011 First release with long-term support (LTS), until March 2015, incl. support of IE6 Extended long-term support (chargeable), until March 2016 UTF-8 as default character set and HTML5 in back end Refurbished back-end forms and extension manager Integrated protection against CSRF Current version: 4.5.40 25 October 2011 Internationalization with XLIFF New website form content element Security & performance improvements Current version: 4.6.15TYPO3 4.6 release date rec. 6. October 2012typo3.org: A Brief Introduction to TYPO3 version 4.6 24 April 2012 Complete accessibility for new installations acc. to WCAGTYPO3 Receives German Governmental Funding for Accessibility and Usability Project, rec. 27 Juli 2011 Introduced new HTML5 elements like <audio> & <video>, improvements for TCEforms Introduced the Government Package Current version: 4.7.196.x 27 November 2012 Integration of a file abstraction layer (FAL) Drag & Drop in the Page Module Support for IPv6 Standardized bootstrap for mount pointsTYPO3 6.0 Release Timelinetypo3.org Latest version: 6.0.14 30 April 2013 Automatic updates for the Core and for translations, e.a. Latest version: 6.1.11 25 March 2014 Second release with Long Term Support (LTS), until April 2017 File Abstraction Layer (FAL) re-worked Install Tool re-written and Distribution Management added Responsive image rendering and mobile device preview New documentation module added Enhanced security features Latest version: 6.2.477.x 2 December 2014 General code clean-up, speed improvements through outsourcing of an old compatibility layer, refresh of the visual appearance of the back end 4 August 2015 Backend Overhaul Vol 2 29 September 2015 general code base improvements, Backend Overhaul Vol 3 10 November 2015 Third release with Long Term Support (LTS), support until November 20188.x 22 March 2016 General code cleanup, speed improvements through outsourcing of the old compatibility layer, refresh of the visual appearance of the back end. Usage of performance improvements through PHP7 requirement. 3 May 2016 Most notable: Doctrine integration, UX rework of workspace module, general cleanup 5 July 2016 Ogg, FLAC and Opus media support Removed support for compatibility6 extension 30 August 2016 Doctrine DBAL migration Tree rendering with SVGs Unified linking syntax PHP 7.1 support 18 October 2016 Mobile back end Documentation API Easier migrations Access flexform values by TypoScript 20 December 2016 New form framework,