Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Enlighter - Customizable Syntax Highlighter

Simple post syntax-highlighted code using the EnlighterJS Javascript Plugin.


  • Added: WordPress Multisite support
  • Added: JSDELIVR as MooTools CDN Source - feature requested on WordPress.org Forums
  • Added: Additional check to the About-Page redirection (triggered on plugin activation) to avoid infinite redirects in case of a broken 3rd party options-caching plugin
  • Added: Brazilian Portuguese localization (pt_BR) - thanks to rafajaques on GitHub #50
  • Bugfix: The new cache accessibility check (v3.2) did not work on WIN platform
  • Bugfix: PHP 5.3 Compatibility within the LowLevel Shortcode Filter - thanks to crislv90 on GitHub


  • Added: GFM style Markdown support for fenced code blocks
  • Added: bbPress support for Markdown fenced code blocks
  • Added: Environment Check to ensure Enlighter is working in a well configured environment
  • Added: Filter hook enlighter_startup to disable Enlighter on selected pages - feature requested on WordPress.org Forums #43
  • Added: Filter enlighter_inline_javascript - applied to inline javascript which is injected into the page
  • Added: Filter enlighter_frontend_editing- forced enabling/disabling of the frontend editing functions
  • Replaced: PHP-Version-Errorpage by global admin_notice - ensure that PHP 5.3 or greater is used to avoid weird errors
  • Changed: The autofix permission helper will set the cache directory permissions to 0774
  • Bugfix: PHP Error message was thrown in case a the cache was not writable and a file operation failed
  • Bugfix: The cache check did not checked if the directory was accessible
  • Bugfix: The autoset permission link was broken since v3.0
  • Bugfix: Backtick style code elements of bbPress will break the highlighting


  • Added: EnlighterJS v2.10.1
  • Added: About/News Page which is shown on plugin activation/upgrade
  • Added: New Options Page Extensions for Enlighter related third-party plugin integration
  • Added: Experimental Support for Jetpack Infinite Scroll - feature requested on WordPress.org Forums
  • Added: Experimental bbPress Shortcode support - feature requested by DevynCJohnson on GitHub
  • Added: global constant ENLIGHTER_PLUGIN_URL - pre-processed version of plugins_url('/enlighter/')
  • Added: local enqueue wrappers to the ResourceLoader.php
  • Added: Enlighter Shortcode support for Text-Widgets
  • Added: Enlighter Shortcode support for User Comments
  • Added: Options to enable/disable the Editor Quicktags on the Frontend as well as Backend
  • Added: HTML Tag restrictions to Visual Editor: disallows any kind of formatting elements (strong, span, em, ..) within code-blocks
  • Added: Event enlighter_init which is triggered on plugin initialization complete
  • Added: Filter enlighter_themes to modify the internal theme list - ability to add and/or remove themes
  • Added: Filter enlighter_languages to modify the internal language list - ability to add and/or remove languages
  • Added: Filter enlighter_resource_url to modify the domain/protocol of related Enlighter resources
  • Added: Filter enlighter_shortcode_filters to enable shortcodes in specific sections by hooking into 3rd party filters
  • Added: Minified Versions of the TinyMCE Plugin
  • Changed: The EnlighterJS Config object is now populated as EnlighterJS_Config to enable third-party integrations/plugins
  • Changed: Moved Cryptex Settings from Options to Extensions
  • Changed: External Plugins (colorpicker, jquery.cookie) are moved from extern/ to resources/extern
  • Changed: toolbar button link to http://enlighterjs.org
  • Changed: The Plugin is now initialized on init to enable users to hook-in
  • Changed: Renamed the Visual Editor configuration object to EnlighterJS_EditorConfig
  • Changed: Renamed the TinyMCE plugin from enlighter to enlighterjs
  • Changed: Renamed the TinyMCE plugin files to EnlighterJS.TinyMCE.min.js, EnlighterJS.TinyMCE.min.css
  • Changed: Removed the "Advanced" page - settings are moved to "Options"
  • Bugfix: The special-line color of the Atomic theme was too dark. changed to 0x392d3b - thanks to CraigMcKenna on GitHub
  • Bugfix: Users with role author and contributor were not able to set language, theme or other options in Editor Mode (html attributes were stripped by the KSES filter)
  • Bugfix: Codegroup title cannot be set manually caused by wrong attribute name - thanks to PixelT on GitHub
  • Bugfix: Codeblock edit button does not work in WP 4.5 caused by cross-plugin event-propagation
  • Bugfix: Users with role author and contributor were not able to use the frontend-editor-extension because of missing privileges to edit pages. Condition is changed to IS_LOGGED_IN AND (CAN_EDIT_POSTS OR CAN_EDIT_PAGES) - thanks to Petr on WordPress Forums
  • Bugfix: HTML Code Fragment within the generated cache/TinyMCE.css file caused CSS validation error
  • Cleaned up the internal Plugin Structure
  • Visual Editor (TinyMCE) Plugin is outsourced to AndiDittrich/EnlighterJS.TinyMCE


  • Added: New robust and fault-tolerant LowLevel Shortcode Handler to avoid issues with wpautop filter and unescaped html characters (text mode)
  • Added: Visual Editor Customization
  • Added: Option to disable Enlighter shortcodes
  • Added: Option to use the old/legacy Shortcode handler
  • Added: Shortcode Processor info to the SystemInformation sidebar
  • Added: Unique Hash to all cached resources to force cache-update on file-change/settings-update
  • Added: Option to cancel WordPress Editor width limit (set to auto)
  • Added: QuickTags to the Text/HTML Editor
  • Bugfix: Theme Customizer was not able to modify the special-line-highlighting-color of codeblocks without line-numbers - thanks to CraigMcKenna on GitHub
  • Bugfix: MooTools <= 1.5.1 #2705 will throw the javascript error The specified value "t" is not a valid email address - updated to v1.6.0 - thanks to lots0logs on GitHub
  • Bugfix: Removed TinyMCE debugging output (written to console)
  • Bugfix: The Edit Icon (Visual Editor) is now dynamically positioned based on editor width
  • Bugfix: Foreground Color of Theme-Customizers color elements is changed dynamically based on the background color brightness
  • Changed: Moved the Enlighter Settings Page to the Top-Level of WordPress Administration Menu
  • Changed: Moved Language Shortcode options from advanced settings to editing section
  • Changed: Moved TinyMCE Editor options from advanced settings to editing options
  • Changed: The Visual Editor Code-block appearance (modernized)
  • Changed: Language Titles in the Visual Editor Box are dynamically generated
  • Changed: Internal file structure (editor resources)
  • Changed: The Menu Slug/URL from options-general.php?page=enlighter/class/Enlighter.php to admin.php?page=Enlighter - direct, custom links to the settings page require an update !
  • Changed: Editor Config object is renamed to Enlighter_EditorConfig
  • Changed: New Resource Manager structure is used
  • Changed: Cached files are observed and re-generated if missing
  • Replaced: the low-level PHP based ObjectCache by the WordPress Transient API
  • Dependencies: Updated MooTools to v1.6.0
  • Deprecated: The "WpAutoP" Filter Priority setting will be removed in the future - the new LowLevel Shortcode Handler will avoid wpautop issues!


  • Bugfix: the default option of "Enlighter Config" is now set to "inline" - this may avoid highlighting when upgrading to 2.10 - I apologize for the inconvenience - thanks to ciambellino on GitHub


  • Added: EnlighterJS v2.10.0
  • Added: Cython Language support - thanks to DevynCJohnson on GitHub
  • Added: Squirrel Language support - thanks to DevynCJohnson on GitHub
  • Added: General Assembly Language support - feature requested on GitHub
  • Added: LUA Language support
  • Added: Minimal Theme (bright, high contrast)
  • Added: Atomic Theme (dark, colorful)
  • Added: Rowhammer Theme (light)
  • Added: missing AVR Assembly features (used AVR-1022 reference)
  • Added: Universal Google Webfonts loader: Droid Sans Mono, Inconsolata .. (all available monospace fonts, Nov 2015)
  • Added: option to control the global script position (header/footer) of related javascript files - features requested on GitHub
  • Added: link to the official EnlighterJS Website to the plugin overview page
  • Added: ENLIGHTER_VERSION string to all related js/css resources
  • Changed: moved settins page link on the plugin overview page to the action links (left column)
  • Changed: the editor font-size is set to 0.7em and the font-family is changed to "Source Code Pro"
  • Renamed: Webfonts style name changed to enlighter-webfonts
  • Removed: option to control the initialization script position (replaced by an additional global script position option)
  • Removed: calls to wp_register_style and wp_register_script - instead the wp_enqueue_ methods are used directly
  • Bugfix: removed some incorrect html attribute quotes within the settings page
  • Bugfix: removed unused html table tag from the settings page
  • Bugfix: removed console.log debugging output from tokenizer
  • Bugfix: in some cases the ThemeCustomizer cannot load the base css files (theme name not transformed to lowercase)
  • Bugfix: an empty paragraph is added after each codeblock in the VisualEditor-Mode (permits users to add content after the codeblock)
  • Bugfix: copy&paste within a Enlighter codeblock had spilt the block into multiple parts (VisualEditor-Mode)


  • Added: EnlighterJS v2.9
  • Bugfix: Under some special conditions the tokenizer repeats the last sequence of a codeblock - thanks to Kalydon and dan-j on GitHub
  • Bugfix: TinyMCE Editor plugin didn't work in some special cases (use of other editor plugin) - Thanks to esumit on GitHub
  • Bugfix: the final character of highlighted code got removed by the tokenizer engine in case it's a text token - thanks to dan-j on GitHub
  • Bugfix: Generic highlighting was accidentally removed from EnlighterJS


  • Added: EnlighterJS v2.7.0
  • Added: Rust language support - feature requested on GitHub
  • Added: VHDL language support
  • Added: Matlab language support
  • Added: New Shell/Bash language engine
  • Added: New PHP language engine
  • Added: New CSS language engine - some styles have changed!
  • Added: Shell script example
  • Added: "MooTwo" theme inspired by the mootools.net website
  • Added: "Godzilla" theme inspired by the MDN
  • Added: "Droide" theme
  • Added: New EnlighterJS Info Button (Toolbar)
  • Added: New Tokenizer Engine which increases the rendering performance by nearly 700%
  • Bugfix: Wrong highlighting class used for SQL comments
  • Changed: Smart Tokenizer Engine is used instead of the old Lazy Bruteforce matching
  • Changed: All Fonts of the modern Themes are replaced by "Source Code Pro" as default
  • Changed: Classic Themes kw3 color switched with kw4
  • Changed: The hover css-class is now added to the outer ol,ul container instead of each li line - all themes have been adapted
  • Changed: Inline gif imaages are used for the button toolbar instead of png images (size optimization)
  • Many performance improvements
  • Reduced the CSS and JS file-size by massive sourcecode optimizations (43kB JS; 28KB CSS; including all Themes and Languages!)


  • Added: EnlighterJS v2.6.0
  • Added: Native JSON highlighting support
  • Added: Support for the Cryptex Email Obfuscation plugin (>= v5.0) - email addresses within highlighted code can now protected too
  • Added: Plugin Upgrade notifications for upcoming major releases to the admins plugin page
  • Bugfix: The contextual help link was not "full" selectable (covered by the tab nav)
  • Bugfix: ObjectCache file existent check failed (triggers a php warning unlink(...) No such file or directory ..
  • The readme.txt (WordPress plugin repository) is generated from the markdown file README.md, FAQ.md and CHANGES.md (GitHub style)


  • Added: Settings page link to the plugin page (metadata row)
  • Added: Link to author's Twitter Channel (latest Enlighter updates/news)
  • Added: EnlighterJS v2.5
  • Added: Language support for ini files
  • Added: Language support for AVR-Assembler
  • Added: XML Namespace highlighting
  • Added: Links to the Language Examples to the README.txt file
  • Bugfix: Highlighting of multi-line XML/HTML tags failed - thanks to Suleiman19 on GitHub
  • Renamed the EnlighterJS files to EnlighterJS.min.css and EnlighterJS.min.js


  • Added LIVE Preview-Mode to the Theme-Customizer (requires a browser with enabled pop-up windows)
  • Added Preview-Mode screenshot
  • Renamed: MooTools js file to mootools-core-yc.js (removed the version string)
  • Updated: the pot/language files


  • Added: Compatibility to the Advanced Custom Fields Plugin
  • Added: Frontend Visual Editor Integration using the wp_editor feature - requested on WordPress Forums
  • Added: Additional check to the ObjectCache to ensure that it's writeable whe
  • Removed: WordPress 3.8 Visual Editor compatibility - Enlighter now requires WordPress >= 3.9 (TinyMCE 4)
  • Hardened the Enlighter TinyMCE Plugin
  • Bugfix: With disabled option "Show Linenumbers" the Visual Editor Plugin will crash the TinyMCE Editor - Thanks to ryansnowden on GitHub
  • Bugifx: In case of a missconfigured WordPress installation (disabling the admin_print_scripts hook), the Visual-Editor-Plugin will crash the TinyMCE editor - Thanks to Nikodemsky on WordPress Forums
  • Bugfix: Closed possible XSS vector within the HTML generator (authenticated users who can edit content were able to inject html code) - this is not a security issue because such users can insert HTML code by default.


  • Added insert-option for "Align-Left-Indentation" - all leading tabs got replaced by spaces and the minimum indent is removed from each line - this is a usefull feature when pasting code-snippets (the "Code-Indent" option has to be set to n-Spaces!)
  • Added insert-option "block/inline" to easily insert inline code - feature requested on WordPress Forums
  • Added cache-directory check to ensure that it's writeable as well as a Autofix function which automatically set's the permissions of the cache-directory on user request (+w for user + group).
  • Added Language-Type "generic" to selection menu
  • Added EnlighterJS 2.4
  • Added Theme "Classic"
  • Added Theme "Eclipse"
  • Added Theme "Beyond"
  • Added Language "Diff" for changelogs
  • Added: License Informations to settings-page footer
  • Added: Info of available CDN locations (full url)
  • Added: Additional user-role check (administrator + manage_options required)
  • Added: Contextual Help based help/usage/informations
  • Added: Checks the availability of the EnlighterJS library before initializing - this will avoid errors caused by missing scripts
  • Added: Option to include the required javscript config as external file, within wp_footer or wp_head
  • Added: Support for external/custom EnlighterJS Themes - feature requested on WordPress Forums
  • Updated MooTools (local+CDN) to v1.5.1
  • Removed Setting "Config-Type" - Javascript based initialization is now used
  • Changed the wpAutoP filter priority back to 10 as default (no changes) - this will avoid conflicts with other plugins - in case you are using shortcodes, you should set it to 12
  • Changed: some setting keys got renamed, especially the toolbar buttons - please check your settings
  • Bugfix: Theme-Customizers CSS cache got removed on plugin upgrade - added automatical CSS recreation/cache check
  • Bugfix: Entities didn't got escaped by using the "Code Insert Dialog" - thank's to nextchi on GitHub and Mathias on WordPress Forums
  • New settings page - now matches WordPress corporate UI style
  • Removed WordPress <= 3.7 compatibility mode/legacy UI style
  • Bugfix: Added some missing I18n namespaces
  • Many internal changes/improvements


  • Added "Code Insert Dialog" to avoid copy-auto-formatting issues - feature requested on WordPress Forums
  • Added "Enlighter Settings Button" to control the Enlighter Settings (highlight, show-linenumbers, ..) directly from the Visual-Editor - just click into a codeblock and the button will appear (requires WordPress >=3.9)
  • Added Enlighter Toolbar Menu-Buttons
  • New Visual-Editor integration style
  • Bugfix: Added missing codeblock-name for "C#"


  • Added EnlighterJS 2.2
  • Added language support for C# (csharp) provided by Joshua Maag
  • Bugfix: Indentation of first line got lost - thanks to cdonts


  • Added EnlighterJS 2.1
  • Added Inline-Syntax-Highlighting
  • Added new Theme "Enlighter"
  • Added Inline-Highlighting support to the Visual-Editor
  • Added setting "Show Linenumbers"
  • Added shortcode attribute "linenumbers" the force the visibility for each codeblock - feature requested on GitHub
  • Added shortcode attribute "offset" to set the start-index of line-number-counting - feature requested on WordPress Forums
  • Added Inline-CSS-Selector setting
  • Added an optional "raw-code-button" as well as customization options for the appearing Raw-Code-Panel
  • Added build-script to generate Theme-Templates required by the ThemeCustomizer directly from the CSS files
  • Added seperate token settings for "font-style" and "font-weight"
  • Improved Theme-Generator: only one CSS file is included instead of two
  • Moved option "Language Shortcodes" to "Advanced Options"
  • Removed setting "Output-Style" (replaced by Show-Linenumbers)
  • Removed waste Theme-Customizer setting "Line Number Styles -> Line height"
  • Bugfix: "Loading Theme Style" doesn't set "text-decoration" corretly


  • Added: Visual-Editor (TinyMCE) Integration (optionally - you can turn it off on the settings page)
  • Added: Serbo-Croatian Translation sr_RS (Thank`s to Borisa Djuraskovic from webhostinghub.com)
  • Bugfix: Visual-Editor integration will avoid auto-whitespace-removing issues
  • Improved: Added new Screenshots


  • Added: Environment Pre-Check (PHP 5.3 requirement!)


  • Added: Support for new WordPress 3.8 UI design
  • Added: CDNJS Service (Cloudflare) as CDN provider for MooTools @see http://cdnjs.com/
  • Added: I18n (Internationalization) support (settings page)
  • Added: I18n generation tools
  • Added: POT file for additional translations
  • Added: German translation (de_DE)
  • PHP Namespaces used to isolate plugin (PHP >= 5.3 required!)
  • Improved Plugin backend structure
  • Changed: Admin CSS+JS files are moved to resources/admin/
  • Changed: Replaced table layout of settings page
  • Bugfix: "Load Theme styles" selects wrong items as default style
  • Bugfix: ColorPicker elements doesn't get initialized


  • Bugfix: The plugin now modifies the priotiry of wpautop filter to avoid unrequested linebreaks (optionally - you can turn it off on the settings page) @see https://github.com/AndiDittrich/WordPress.Enlighter/issues/2 - thanks to ankitpokhrel
  • Added EnlighterJS 1.8
  • Added line based marking to point special lines - just add the attribute highlight="1,2-5,9" to the shortcode to mark line 1,2,3,4,5,9. The line-color is configurable within the ThemeCustomizer - feature requested on WordPress.org Forum
  • Added the ability to set custom hover colors within the ThemeCustomizer as well as custom line highlighting colors
  • Improved settings page, new design



  • Bugfix: CSS Selector got ignored when using metadata-based initialization (all "pre"-tags are highlighted)
  • Added EnlighterJS 1.6
  • Added "RAW" language - code is not highlighted/parsed


  • Added EnlighterJS 1.5.1
  • Added language support for NSIS (Nullsoft Scriptable Install System)


  • First public release
  • Includes EnlighterJS 1.4

Requires: 3.9 or higher
Compatible up to: 4.7.1
Last Updated: 1 month ago
Active Installs: 4,000+


4.7 out of 5 stars


3 of 3 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,2,2 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,3,3
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1