• About us
    • Joomla Home
    • What is Joomla?
    • Benefits & Features
    • Project & Leadership
    • Trademark & Licensing
    • The Joomla Foundation
    • Support us
    • Contribute
    • Sponsor
    • Partner
    • Shop
    • Downloads
    • Extensions
    • Languages
    • Get a free site
    • Get a domain
    • User Guide
    • Training
    • Certification
    • Site Showcase
    • Announcements
    • Blogs
    • Magazine
    • Community Portal
    • Events
    • User Groups
    • Forum
    • Service Providers Directory
    • Volunteers Portal
    • Vulnerable Extensions List
    • What is Joomla Academy?
    • What is Google Summer of Code (GSoc)
    • Joomla License FAQs
    • Developer Network
    • Developer Manual
    • Security Centre
    • Issue Tracker
    • GitHub
    • API Documentation
    • Joomla! Framework

Joomla! User Documentation

Download
Launch
  • User Guide
  • Tutorials
  • Contributors
  • Jobs To Do
  • Getting Started
    • Introduction to Joomla!
    • Joomla Core Features
    • Hosting Setup
    • Installing Joomla
    • Logging in to Joomla
    • Articles and Categories
    • Adding a Category
    • Adding an Article
    • Adding a Menu Item
    • Adding a Module
    • Keyboard Shortcuts
  • Articles
    • Articles: Categories
    • Articles: Filter Options
    • Articles: Featured
    • Articles: Archive
    • Articles: Delete
    • Article: Edit - Content
    • Article: Edit - Headings
    • Article: Edit - Images
    • Article: Edit - Links
    • Article: Edit - Lists
    • Article: Edit - Tables
    • Article: Edit - Pagination
    • Article: Edit - Read More
    • Article: Edit - Images and Links
    • Article: Edit - Options
    • Article: Edit - Publishing
    • Article: Edit - Metadata
    • Article: Edit - Configure Edit Screen
    • Article: Edit - Permissions
    • Article: Save to Menu
    • Article: Versions
    • Article: Preview
    • Article: Accessibility Check
    • Article: Access Restriction
    • Article: Check-in
  • Banners
    • Banners
  • Command Line Interface
    • Using the CLI
    • Joomla CLI Installation
  • Configuration
    • Global Configuration
    • Site Offline
    • SMTP mail and Gmail
    • The htaccess.txt file
    • The robots.txt file
    • Adding www to a URL
    • Disallow Image Hotlinking
    • Disallow Directory Listing
    • Password Protect Directories
  • Contacts
    • Contacts
    • Category List Override
  • Dashboards
    • Home Dashboard
    • Content Dashboard
    • Menu Dashboard
    • Components Dashboard
    • Users Dashboard
    • System Dashboard
    • Help Dashboard
  • Editors
    • Content Editors
    • TinyMCE Plugin
    • Codemirror Plugin
    • HTML Filters
  • Extensions
    • Installing an extension
    • The Joomla Extensions Directory
    • Vulnerable Extensions
  • Fields
    • Fields and Field Groups
    • Field Parameters
    • Calendar Field
    • Checkboxes Field
    • Colour Field
    • Editor Field
    • Integer Field
    • List Field
    • List of Images Field
    • Media Field
    • Note Field
    • Number Field
    • Radio Field
    • SQL Field
    • Text Field
    • Textarea Field
    • Url Field
    • User Field
    • Usergroup Field
    • Subform Field
    • Multilingual Sites
    • Template Overrides
  • Help
    • Guided Tours
    • Administrator Help
  • Hosting & Installation
    • Free Hosting
    • cPanel Hosting
    • Bitnami Installation
    • Raspberry Pi Installation
    • Auto Installer Installation
    • Moving Installation Directory
    • Local Setup
  • Hosting Notes
    • UNIX File Permissions
    • Windows File Permissions
    • Multiple Domains and Web Sites in a single Joomla! installation
    • Sub-Domains, Parked Domains and Add-On Domains
    • Nginx
    • Apache PHP Handlers
    • Optional Technical Requirements
  • Languages
    • Setup a Multilingual Site
    • Multilingual Associations
    • Language Overrides
    • Debugging a Translation
  • Local Setup
    • Local Hosting on Windows
    • Laragon Setup (Windows)
    • Local Hosting on Linux
    • Docker Setup
    • Local Test Setup
  • Mail Templates
    • Options
    • Editing
    • Mass Mail Users
    • Managing Template Layouts
    • Tags Cross-Reference
  • Media
    • Managing Media
    • Upload Delete Rename
    • Image Crop Resize Rotate
    • Media File Locations
    • Media: Options
    • Uploading SVG files
  • Menus
    • Adding a New Menu
    • Menu Items
    • Menu Item Types
    • Menu Item Order
    • Submenus
    • Keep submenus open
    • Menu Positions
    • Auto redirect guests to login
    • Archived Articles
    • Custom Administrator Menu
  • Migration & Upgrade
    • Version Update
    • Migration Basics
    • Can I Do this Myself?
    • Joomla 5 to 6
    • Joomla 4 to 5
    • Joomla 3 to 4
    • Joomla 2.5 to 3
    • Joomla 1.5 to 4
    • Joomla 1.0 to 1.5
  • Modules
    • Site Modules
    • Administrator Modules
    • Module Positions
    • Module Display by Menu Item
    • Modules inside Articles
    • Login Form
    • Module Styles
    • Archived Articles
    • Custom Module
  • News
    • News Feeds
    • News Display
  • Performance
    • Page Analysis
    • Monitoring Server Health
    • Monitoring Site Speed
    • Accessibility Checker
    • Managing 404 Errors
  • Plugins
    • About Plugins
    • Joomla! Update Notification
  • Privacy
    • Privacy Outline
    • Privacy Setup
    • Privacy Workflow
    • Cookies
  • Problems
    • Assorted Issues
    • Unsupported PHP Version
    • FatalError
    • Database Table Structure
    • Local Host Email
    • Database Connection
  • Reference
    • Joomla Licenses
    • Joomla! Copyright
    • What are web standards?
    • Where are the web pages?
  • Security
    • Best Practices
    • HTTP Headers
  • SEO
    • SEO Basics
    • Search Engine Friendly URLs
    • SEF URLs on Apache
    • SEF URLs on Nginx
    • Monitoring SEO
    • Using A Sitemap
    • Schema.org
  • Schema.org
    • An Introduction to Schema.org
    • Schema.org System Plugin
    • Accessing Schema.org Custom Fields
    • Article BlogPosting Type
    • Article Book Type
    • Article Event Type
    • Article JobPosting Type
    • Article Organization Type
    • Article Recipe Type
  • Smart Search
    • Smart Search Quickstart
    • Smart Search on Large Sites
    • Smart Search Layout Overrides
    • Smart Search Indexing
    • Smart Search FAQs
    • Smart Search Options
    • Smart Search Test Plan
  • System
    • Backup
    • Cache
    • Purge Expired Cache
    • Top 10 Stupid Tricks
  • Tags
    • Content Tags
  • Templates
    • Template Basics
    • Cassiopeia Customisation
    • Template Overrides
    • Template Layouts
    • Child Templates
    • Favicons
    • Template SVG Logos
    • Cassiopeia templateDetails.xml
    • Switching Templates
    • Home Page in Different Style
    • Module and Menu Styles
    • Standard Icons
  • Test Installations
    • Visual Studio Code Primer
    • Visual Studio Code Extras
    • Setting up Apache, PHP and MySQL manually
    • File Permissions: Linux
    • File Permissions: Windows
  • Users
    • Access Control
    • User Registration
    • User Profile
    • User Password Reset
    • Admin Password Recovery
    • User Password Security
    • WebAuthn Login
    • Multi-factor Authentication
    • Guest Access
    • Changing User's Groups
    • Login and Logout Redirects
    • User Actions Log
  • Workflows
    • Publishing Workflow
    • Workflow Example 1
    • Workflow Example 2
  1. You are here:  
  2. Home
  3. Documentation
  4. User Guides
  5. Content Management
  6. Editors

Editors

Codemirror Plugin

Introduction

The CodeMirror editor is designed to make it easy to enter HTML code in an article or description. CodeMirror supports syntax highlighting, auto-completion and other settings as shown in this screenshot.

Code mirror plugin settings

The following screenshot shows HTML colour highlighting and the CMS Content implemented as a row of buttons:

Code mirror in use

Content Editors

Introduction

Joomla has two default editors described in separate articles:

  • TinyMCE is the default editor.
  • CodeMirror is designed for editing raw html and php source code.

No editor

If Editor - None is selected in a User Profile, then all textarea fields require entry of HTML tags in those fields that need them. This is inconvenient for editing Article or Custom Module content but can be useful under some circumstances, for example to create a PayPal link. In an article you can use the toolbar Preview button to see how the HTML will display when rendered.

TinyMCE automatically re-formats and strips some HTML tags when a file is saved. This can cause complex HTML not to work correctly. If this happens, you can temporarily change the editor to Editor - None to create the desired content. Note that if you wish to edit this content in the future, you should be careful to select Editor - None again. Otherwise, if you open and save the content with TinyMCE, you may lose your custom HTML.

HTML Filters

HTML Textarea Tag

In HTML a multi-line input field is known as a textarea. Any text between the opening and closing tags is displayed as text that may contain HTML markup. Example:

<textarea><p class="poem">The quick brown fox<br>
jumps over the lazy dog.</textarea>

Editors, such as TinyMCE or Code Mirror use JavaScript to overlay the textarea with a different display to allow WYSIWYG data entry and or syntax highlighting. The Toggle button beneath an editor field toggles between the textarea view and the WYSIWYG view.

Editor views are used for the content of Articles and some Modules. However, you need to be aware that not all HTML tags and attributes (such as class="xyz") are allowed to all users. Some or all may disappear when you save the content of a textarea or edit field.

This is caused by filtering mechanisms, either in the Joomla! Global Configuration or in the editor configuration. An editor filter can be bypassed by selecting No Editor in your User Profile settings. You cannot bypass the global filters but you can change them to suit the purposes of your site.

User Editor Selection

You can select one of the available editors, including None, from your User Profile available via the User Account / Edit Profile menu at the top right of the Administrator screen. The Edit: Profile form contains a Basic Settings tab with a field to select an Editor. It is normally set to - Use Default -, which is usually TinyMCE. You can select Editor None. That will bypass any filtering of HTML tags and attributes not allowed by TinyMCE configuration settings.

Warning: if you select Editor - None to create content containing HTML tags disallowed by an editor filter and then switch back to the default editor you should be careful not to edit and save that content again or you will lose any filtered tags and attributes. It is easy to do this by mistake and there is no warning.

Global Configuration: Text Filters

From the Home Dashboard select Global Configuration and then the Text Filters tab. The default settings have No HTML selected for Guest, Public and Registered user groups. Any of these groups might have an opportunity to fill out a text area field, for example in a contact form that seeks extra information about a problem, so automatic removal of all HTML tags is usually appropriate. Other groups, except Super Users, are restricted by the Default Forbidden List. Super Users have no filtering.

global configuration of text filters

The notes explain what is included in the default forbidden list and how to use the other lists.

TinyMCE Configuration for Text Filters

Editors are implemented as Plugins in Joomla. The CodeMirror editor has no text filter settings. To customise the TinyMCE editor find and select it in the list of plugins. Half way down the long list of settings you will see a field labelled Use Joomla Text Filter which is Off by default. The next three fields are

  • Prohibited Elements a list of tags that will always be removed. The default list of script,applet,iframe all have security concerns.
  • Valid Elements use this list to limit valid tags to a subset of all common HTML tags. Example: a[href|target=_blank],strong/b,div[align],br
  • Extended Valid Elements use this list to add an element to the existing default ruleset or to modify an element in the default ruleset. Example: img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]

See the TinyMCE Documentation for more explanation.

To bypass the TinyMCE text filters and use Joomla text filters set Use Joomla Text Filter to On. The three additional fields described above disappear as they are not used.

TinyMCE Plugin

Introduction

TinyMCE is the default editor for both frontend and backend users. It is a WYSIWYG (What You See Is What You Get) editor that uses a word-processor type interface for editing articles and other content. It is not quite WYSIWYG because the site view of an article may have styles that are not implemented in the editor view.

Toolbar Sets

TinyMCE is configured with 3 different sets of toolbar buttons for different user groups. Each default group can be further configured by adding or removing tools in the TinyMCE plugin edit page.

Toolset 0

This toolset is the most extended set and is by default assigned to the Administrator, Editor and Super Users groups.

TinyMCE plugin showing button set 2

Toolset 1

This toolset is assigned to the Manager and Registered groups.

TinyMCE plugin showing button set 2

Toolset 2

This set has minimal tools and is assigned to the Public group. It would be used for filling out public forms.

TinyMCE plugin showing button set 2

Other Settings

Following the toolset selectors there is a long list of parameters. All have suitable default settings for general purposes. Text filters are covered in a separate article on html filters.

  1. You are here:  
  2. Home
  3. Documentation
  4. User Guides
  5. Content Management
  6. Editors

  • Joomla! on Facebook
  • Joomla! on X
  • Joomla! on Bluesky
  • Joomla! on Threads
  • Joomla! on YouTube
  • Joomla! on LinkedIn
  • Joomla! on Pinterest
  • Joomla! on Instagram
  • Joomla! on GitHub
  • Home
  • About
  • Community
  • Forum
  • Extensions
  • Services
  • User Guide
  • Developer
  • Shop
  • Accessibility Statement
  • Privacy Policy
  • Cookie Policy
  • Sponsor Joomla! with $5
  • Help Translate
  • Report an Issue
  • Log in
 A Digital Public Good.

© 2005 - 2026 Open Source Matters, Inc. All Rights Reserved.

Rochen
Joomla! Hosting by Rochen
We have detected that you are using an ad blocker. The Joomla! Project relies on revenue from these advertisements so please consider disabling the ad blocker for this domain.