Anoop Kakkur Rich Text Editor

Text editors ::: editor_customeditor
Maintained by ANOOP KAKKURANOOP PA, Anoop Kakkur
A powerful, modern WYSIWYG rich text editor for Moodle with 150+ admin-configurable features including dark mode, callout boxes, math equations, code blocks with syntax highlighting, charts, shapes, SmartArt, footnotes, checklists, timelines, kanban boards, markdown support, auto-save, and full keyboard accessibility — all with zero external dependencies.
Latest release:
53 sites
444 downloads
4 fans
Current versions available: 1
Moodle Text Editor Plugin

Anoop Kakkur Rich Text Editor v3.1.5

The most feature-rich text editor plugin for Moodle — designed for educators, learners, and content creators who need professional-grade editing capabilities directly inside Moodle LMS. Now with Moodle File Picker integration, clickable images, H5P content embedding, Voice Typing and Phonetic Keyboard support for Indian and international languages.

150+ Admin-Configurable Features Moodle 4.1–5.2 Zero External Dependencies 18 Bundled Fonts Malayalam Support Included Voice Typing — 19 Languages Phonetic Keyboard — 19 Languages H5P Content Embedding Moodle File Picker

Why this editor stands out

Anoop Kakkur Rich Text Editor transforms the Moodle editing experience with a powerful, all-in-one interface for writing, formatting, designing, structuring, and exporting content. From academic content and multilingual lessons to interactive learning materials and professional documentation, this editor gives administrators complete control over every feature. Version 3.1.5 adds Moodle File Picker integration for browsing existing files and clickable image support. Version 3.1.4 added H5P interactive content embedding, improved iframe and external embed support, and smarter autosave draft handling. Version 3.1.0 introduced Voice Typing and a Phonetic Keyboard powered by jQuery.IME from the Wikimedia Foundation, bringing native Indian and international language input to every Moodle user without requiring any additional software installation.

📁 Browse Moodle Files New in v3.1.5

Browse and insert images from your existing Moodle files — Private Files, Course Files, Recent Files, and all configured repositories — directly from the image insertion dialog, just like Atto and TinyMCE.

  • New 📁 Browse Moodle button in the Insert Image modal, next to the URL field
  • Opens Moodle's built-in File Picker (M.core_filepicker) — the same file browser used by Atto and TinyMCE
  • Browse Private Files, Course Files, Recent Files, Wikimedia Commons, and all other repositories configured by the site administrator
  • Selected file URL is automatically filled into the Image URL field with preview
  • Alt text is auto-populated from the filename
  • Works alongside existing URL input and local file upload — all three methods available in one dialog

🔗 Clickable Images New in v3.1.5

Make any inserted image clickable by adding a link URL — perfect for banners, promotional images, and navigation graphics that need to link somewhere.

  • New Link URL field in the Insert Image modal
  • When filled, the image is wrapped in an anchor tag with target="_blank" — clicking the image opens the link in a new tab
  • Works with all image insertion methods — URL, file upload, and Moodle File Picker
  • Security — javascript: and vbscript: link URLs are blocked
  • Ideal for weekly-changing banner images, course navigation tiles, and promotional content

🎓 H5P Content Embedding New in v3.1.4

Embed interactive H5P content directly into the editor — quizzes, interactive videos, flashcards, drag-and-drop activities, and more. Works with Moodle's Content Bank and H5P.org.

  • Insert via Insert → 🎓 H5P Content menu
  • Supports Moodle Content Bank URLs — paste the URL of any H5P content from your course's Content Bank
  • Supports H5P.org embed URLs — paste share links from h5p.org examples and content
  • Supports Moodle H5P activity URLs — link directly to H5P activities in your courses
  • Embedded content is fully interactive — play, pause, answer quizzes, drag and drop all work inside the editor
  • Admin-configurable — enable or disable H5P embedding from the settings page
  • H5P iframes are preserved by the HTML sanitiser and not stripped on save

🔗 Improved Iframe and Embed Support Improved in v3.1.4

Embed content from 25+ educational platforms directly into the editor. External embeds now work reliably across all supported platforms.

  • 25+ educational domains supported — H5P.org, CodePen, JSFiddle, Padlet, Canva, Prezi, EdPuzzle, Nearpod, Quizlet, Kahoot, Mentimeter, Google Maps, Spotify, SoundCloud, TED, and more
  • Same-origin iframes always allowed — Moodle's own H5P embeds, content bank resources, and internal pages work without restriction
  • Editor-inserted iframes preserved — iframes inserted via Insert → Iframe or Insert → H5P are marked and never stripped by the sanitiser
  • Secure by default — unknown-domain iframes receive a sandbox attribute for safety instead of being removed entirely
  • Updated Content Security Policy to support external educational embeds

🎙️ Voice Typing New in v3.1.0

Type by speaking — directly inside the Moodle editor using your browser's built-in Web Speech API. No API key, no third-party service, no additional software required.

  • Supports 19 languages — admin can enable or disable each language individually from the settings page
  • English — India, US, UK
  • Indian languages — Malayalam, Hindi, Tamil, Telugu, Kannada, Bengali, Urdu
  • International languages — Arabic, French, Spanish, German, Japanese, Chinese Simplified, Portuguese, Russian, Korean
  • Malayalam, Hindi, Tamil, English (India), English (US) and English (UK) enabled by default — admin can change at any time
  • Continuous recognition — keeps listening until the user stops
  • Real-time interim results — shows text being recognised before finalising
  • Auto-restart on Android Chrome which stops after each utterance
  • Descriptive error messages — microphone not found, access denied, no speech detected and more
  • Voice status bar appears below the toolbar when active with animated indicator and Stop button
  • Mutual exclusion with phonetic keyboard — only one input method active at a time
  • Full admin control — master enable/disable toggle plus per-language enable/disable

⌨️ Phonetic Keyboard New in v3.1.0

Type in Indian and international scripts using a standard English keyboard — no keyboard software installation required. Powered by jQuery.IME v0.2.0 from the Wikimedia Foundation (the organisation behind Wikipedia), licensed under MIT and GPL, bundled fully offline inside the plugin.

  • Supports 19 languages — admin can enable or disable each language individually from the settings page
  • 14 Indian languages — Malayalam, Tamil, Hindi, Telugu, Kannada, Bengali, Gujarati, Punjabi, Urdu, Assamese, Odia, Marathi, Sanskrit, Arabic
  • 5 International languages — Persian, Russian, Greek, Chinese Simplified, German
  • Malayalam, Tamil, Hindi, Telugu and Kannada enabled by default — admin can change at any time
  • Multiple input methods per language — Transliteration, InScript, InScript 2, Phonetic, Bolnagri, Avro, Tamil99, Bamini, KGP, JCUKEN, Pinyin and more
  • User can freely switch between languages and input methods during editing
  • Transliteration is the default method for all languages
  • Last used language and input method remembered per language across sessions
  • IME bar appears clearly below the toolbar when active — labelled Script Language and Input Method selectors so users never confuse it with font or voice controls
  • Ctrl+M shortcut to toggle the phonetic keyboard on and off
  • Mutual exclusion with voice typing — only one input method active at a time
  • Fully offline — no CDN, no internet connection required, all rule files bundled inside the plugin
  • Full admin control — master enable/disable toggle plus per-language enable/disable

Input methods available by language:

  • Malayalam — Transliteration (ലിപ്യന്തരണം), InScript, InScript 2
  • Tamil — Transliteration, Tamil99, InScript, Bamini, InScript 2
  • Hindi — Transliteration, InScript, Bolnagri, Phonetic, InScript 2
  • Telugu — Transliteration, InScript, InScript 2, Apple, Modular
  • Kannada — Transliteration, InScript, KGP, InScript 2
  • Bengali — Avro, InScript, National Keyboard, Probhat, InScript 2
  • Gujarati — Transliteration, InScript, InScript 2, Phonetic
  • Punjabi — Transliteration, InScript, Phonetic, InScript 2, Jhelum
  • Urdu — Transliteration, Phonetic
  • Assamese — Transliteration, Avro, Bornona, InScript, Phonetic, InScript 2, Rodali
  • Odia — Phonetic, Transliteration, InScript, InScript 2, Lekhani, OdiScript
  • Marathi — Transliteration, InScript 2, InScript, Phonetic
  • Sanskrit — Transliteration, InScript 2, InScript, IAST
  • Russian — JCUKEN, Russian Keyboard, Phonetic, YAWERTY
  • Chinese Simplified — Pinyin
  • Arabic, Persian, Greek, German — keyboard and transliteration methods

✏️ Core Editing

  • Rich text formatting — Bold, Italic, Underline, Strikethrough, Subscript, Superscript
  • Font family and size selector with 18+ bundled fonts including Malayalam fonts
  • Text colour and highlight tools with custom colour picker
  • Block formatting — Headings H1–H6, Paragraphs, Blockquotes, Preformatted
  • Text alignment — Left, Centre, Right, Justify
  • Bullet and numbered lists with indent/outdent
  • Undo/Redo with full history
  • 45+ keyboard shortcuts
  • Auto editor height — automatically matches the height requested by each Moodle plugin form definition (e.g. HotQuestion gets a compact editor, Diary gets a taller one). Admin can override with a fixed CSS value at any time.

🎨 Text Formatting

19 advanced formatting features

  • Text case transform — UPPERCASE, lowercase, Title Case, Sentence case
  • RTL/LTR text direction for multilingual content
  • Drop cap, Small caps, Text shadow
  • Letter spacing, Word spacing, Paragraph spacing
  • Line spacing control and multi-column layouts (1–6 columns)
  • Paragraph borders and shading
  • Gradient text and custom CSS classes
  • Format painter and editor background colour

📦 Insert Features

62 insert tools for content, structure, visuals, and interactivity

Content

  • Images by URL, upload, drag and drop, with resize support — Browse Moodle File Picker for existing files — clickable images with Link URL
  • Links, Tables, Iframes, Horizontal lines (10 styles)
  • Video embeds — YouTube, Vimeo, Dailymotion
  • H5P interactive content — embed quizzes, interactive videos, flashcards, and more from Moodle Content Bank or H5P.org
  • Special characters across 9 categories and emoji picker

Code

  • Code blocks with syntax highlighting for 30+ languages
  • Inline and block code snippets with copy buttons

Graphics

  • 28+ shapes with text overlay, resize, and drag support
  • 10 SmartArt templates
  • 6 chart types — Bar, Column, Line, Pie, Donut, Area
  • QR Code generator

Boxes and Panels

  • Callout and alert boxes — Info, Warning, Success, Error
  • Accordion sections, Tabs, Cards, Compare boxes
  • Quiz boxes with answer reveal
  • Key Takeaway, Learning Objective, and Step-by-step boxes

Lists and Structure

  • Interactive checklists, Definition lists, Timelines
  • Kanban boards, Progress bars, Star ratings, Labelled dividers

Academic Tools

  • Footnotes with auto-numbering
  • Citations — APA, MLA, Chicago
  • Math/Equation editor with LaTeX notation
  • Glossary tooltips, Highlight annotations, Rubric table templates

Quick Insert

  • Badges/Tags in 6 colours
  • Placeholder/Merge fields
  • Date/Time insert and Anchor/Bookmarks
  • Lorem Ipsum generator
  • 10 heading/subheading templates
  • 7 content templates — Letter, Meeting Notes, Report, Resume, Blog, How-To Guide, Rubric

📄 Document Features

11 tools for professional document structure

  • Page breaks for print and PDF export
  • Auto-generated Table of Contents
  • Editable header and footer
  • Watermark support with custom text, colour, and opacity
  • Text boxes with borders and resize support
  • Heading auto-numbering
  • Document properties and metadata
  • Section navigator
  • Page number insert
  • Cross-references
  • Running headers and footers

📤 Export and Import

8 tools for content portability

  • Export to PDF, Word (.doc), HTML, Plain Text, and Markdown
  • Import from Word (.docx/.doc) and Markdown
  • Print preview with styled popup
  • Export Markdown with frontmatter

🔧 Advanced Tools

18 advanced productivity and analysis features

  • Find and Replace
  • Show Blocks mode
  • Fullscreen editing (F11)
  • Source code view with dynamic label toggle
  • Word and character count with selection counting
  • Text statistics — sentences, paragraphs, readability score
  • Heading level checker and hierarchy validation
  • Word frequency analyser
  • Broken link checker
  • Content lock / Read-only sections
  • Clipboard history
  • Version compare / Diff view
  • Word/Character limit warning

🌙 Interface and UX

24 features focused on comfort, productivity, and accessibility

  • Dark mode with theme toggle that persists across sessions
  • Auto-save drafts every 30 seconds with 6-colour visual status indicator
  • Smarter draft restore — only restores when the editor is genuinely empty, clears stale drafts when Moodle pre-fills existing content
  • Reading time estimate in status bar
  • Zoom controls from 50% to 200%
  • Focus/Typewriter mode
  • Line numbers and spell check toggle
  • Keyboard accessibility mode with ARIA roles and labels
  • Floating toolbar, Mini map, Split view
  • Distraction-free writing mode

♿ Accessibility

  • Image alt text editor
  • Heading level checker
  • Colour contrast checker (WCAG AA)
  • Reading level indicator (Flesch-Kincaid)
  • Language attribute per selection

🔒 Security

  • Content encryption (passphrase-based)
  • Redaction tool
  • Invisible watermark
  • Export sanitiser

🛡️ Security and Privacy

  • Content Security Policy (CSP) headers
  • 2-phase HTML sanitiser (regex + DOM-based)
  • XSS protection on all user inputs using escapeHtml on every insertHTML call
  • Iframe sandboxing with domain allowlist — 25+ educational platforms supported
  • Editor-inserted iframes preserved via data-editor-embed marker attribute
  • Paste normalisation and sanitisation
  • No analytics, no tracking, no external data transmission
  • Privacy API — null_provider (no personal data stored)

⚙️ Administrator Control

All 150+ features can be individually enabled or disabled by the site administrator from:
Site Administration → Plugins → Text Editors → Anoop Kakkur Rich Text Editor

On first installation, the editor automatically sets itself as the default text editor. If you prefer to keep your existing editor as the site default, go to Site Administration → Plugins → Text Editors → Manage Editors and move the Anoop Kakkur Rich Text Editor to any position other than first. Your previous editor will immediately become the site default again while this editor remains available as an option for individual users.

Editor height — set to 0 (default) to automatically match the height requested by each Moodle plugin form. Set to any CSS value such as 75vh or 400px for a fixed height across all editors.

🆕 What is new

v3.1.5

  • Browse Moodle Files — new 📁 Browse Moodle button in the image modal opens Moodle's built-in File Picker to browse Private Files, Course Files, Recent Files, and all configured repositories
  • Clickable Images — new Link URL field in the image modal wraps inserted images in anchor tags, making them clickable links

v3.1.4

  • H5P Content Embedding — embed interactive H5P content from Moodle Content Bank, H5P.org, or H5P activity URLs directly into the editor via Insert → 🎓 H5P Content
  • Expanded iframe and embed support — 25+ educational platform domains now supported
  • Smarter autosave — draft restore now checks both the editor state and Moodle's parent textarea before restoring
  • Updated CSP — Content Security Policy updated to support external educational embeds

v3.1.0

  • Voice Typing — 19 languages, Web Speech API, no API key required, full admin control
  • Phonetic Keyboard — 19 languages, jQuery.IME by Wikimedia Foundation, multiple input methods per language, fully offline
  • Auto editor height — editor automatically adjusts height to match each Moodle plugin's form definition when set to 0
  • Fixed — stale content bug — new entries in Forum, Diary, HotQuestion and similar plugins now always open with a clean blank editor

📋 Requirements

  • Moodle 4.1 or later (tested through Moodle 5.2)
  • Modern browser — Chrome, Firefox, Safari, Edge
  • No external dependencies
  • No Composer or npm required

🔤 Bundled Fonts

English: Work Sans, IBM Plex Mono, Instrument Sans

Malayalam: Baloo Chettan 2, Noto Sans Malayalam, Dyuthi, Mandaram, Raghu Malayalam Sans, Suruma, Thumba

System: Arial, Times New Roman, Georgia, Verdana, Courier New, and more

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6
Screenshot #7
Screenshot #8
Screenshot #9

Contributors

ANOOP KAKKUR
ANOOP PA (Lead maintainer)
Anoop Kakkur: Co-maintainer
Please login to view contributors details and/or to contact them

Comments

Show comments
  • Plugins bot
    Thu, 5 Mar 2026, 6:10 PM
    Approval issue created: CONTRIB-10370
  • Saeed Y
    Sat, 23 May 2026, 12:22 PM
    Very new and sound promising plugin! Has anyone utilised it yet?
  • AppxoloT Soto
    Tue, 30 June 2026, 9:39 AM
    Muy buen pluguin, era lo que estaba buscando. Solo tengo un problema con insertar iframe, no sirve, marca error, como si el codigo estuviera mal. sad
  • ANOOP KAKKUR
    Fri, 3 July 2026, 12:57 AM
    Hi,

    Thank you so much for your kind words and for taking the time to report these issues — feedback like yours is exactly what helps make this editor better for everyone.

    I'm happy to let you know that all three issues you mentioned have been addressed in v3.1.4, which is now available:

    1. Autosave restoring old values on new objects — Fixed. The autosave system now checks whether Moodle has pre-filled the editor with existing content before attempting to restore a draft. If the editor already has content (e.g. editing an existing Forum post or Diary entry), the old draft is cleared automatically. New objects will only see a restored draft if the editor is genuinely empty.

    2. Iframe and external embed support — Fixed and expanded. You can now embed iframes from 25+ educational platforms including CodePen, Padlet, Canva, EdPuzzle, Nearpod, Quizlet, Kahoot, Mentimeter, Google Maps, and many more. Iframes inserted through the editor are now preserved by the HTML sanitiser and will no longer be stripped on save.

    3. H5P content insertion — New feature added. You'll find a new menu item at Insert → 🎓 H5P Content. It supports:
    • Moodle Content Bank URLs
    • H5P.org embed and share URLs
    • Moodle H5P activity URLs
    The embedded H5P content is fully interactive inside the editor — media playback, quizzes, drag-and-drop all work.

    To update: download v3.1.4 from the plugin directory or pull the latest from GitHub (https://github.com/ianoop007/moodle-editor_customeditor), then go to Site Administration → Notifications to complete the upgrade.

    Please let me know if you run into any other issues or have further suggestions. Your feedback is greatly appreciated!

    Best regards,
    Anoop Kakkur
Please login to post comments