ExpressionEngine® User Guide

Differences between Modules, Plugins, Extensions, and Fieldtypes

ExpressionEngine includes different types of add-ons:

  • Plugins are small run-time enhancements. They are simple to create. The plugin architecture is designed to enable the plugin’s author to affect the output of ExpressionEngine in a wide variety of ways.
  • Modules are larger systems that can be integrated into the ExpressionEngine control panel. Almost anything that can be achieved as a stand-alone application can be designed as an ExpressionEngine module. Modules typically store content in the database and can have actions associated with them.
  • Extensions are “hooks” in the system that allow the add-on to pass information and add functionality to existing interfaces.
  • Fieldtypes are new types of fields that you can use in your field groups and channels.