Markup Markdown


This plugin replaces the Gutenberg block editor (or the classic TinyMCE) on the edit screen with EasyMDE, a markdown editor based on CodeMirror.

The content is saved with the markdown syntax in the database and is rendered on the frontend via wordpress native filters thanks to the Parsedown PHP library.

This extension rocks:
– Audio & Video playlist support added since 2.4
– New beta interface since 2.3
– Possible to enable or disable specific addons since 2.2
– Gallery shortcode support since 2.1
– ACF markdown field since 2.0
– Multilingual spell checking since 1.9
– Disable markdown for specific custom post type since 1.7
– Extra markdown syntax support since 1.4
– Static cache files since 1.3
– Autoconvert Youtube & Vimeo links to iframes since 1.2
– Support with lightbox and masonry for the gallery layout since 1.1

That’s pretty all you should know. It’s under active development, keep in touch and feel free to drop a line on the forum, to let a rating or even support me by buying a coffee!


How to install

The same as usual:

  1. Just download and upload the zip file to your wordpress instance. Or install directly by simply searching from the WP plugin panel.
  2. Activate the extension.

All done! That’s all you should do.

Is it still compatible with Gutenberg or any other builder?

Yes but you can’t use both at the same time 😉
Data are saved as pure markdown code in the database, for the other editors on the market data are saved as HTML or custom markups like shortcodes. Currently data are still saved but won’t be converted or rendered correctly if you revert back or switch between editors.

Can I switch between editors or allow the markdown editor for specific users ?

Yes, please keep in mind it’s a global switch for now. You need to stick to one editor with one post type.
Any block editor will be disabled for all the users of your WordPress instance. filters are available to disable the markdown editor for specific custom post types at a global level. For example you can do a setup to use Divi or Elementor to edit your pages and Markdown to edit your blog’posts. Please refer to the forum to know how to do it.

Can I use it with custom fields? (Or within my theme)

Sure, developers & designers can access the public properties & methods of the instance inside their templates through the global mmd function. For example let’s say you want to use it with a custom field called ‘foo_bar’. You can use something
like that:
echo mmd()->markdown2html( get_post_meta( get_the_ID(), ‘foo_bar’ , true ) );„

What’s the deal with the beta interface?

The default editor is based on EasyMDE so you can write in markdown and use WordPress feature at the same time.
The beta interface is based on SummerNote, a jQuery WYSIWYG Engine. It’s a custom version so you can get a live rendering when typing your content or adding medias. It’s working quiet well actually but if something’s wrong, you may have to edit directly the code from the builder or from the database so for the production environment I would advise to stick with the default options with EasyMDE. To find you more check my article here:


3. August 2022. 1 reply
I have tried other popular md plugin, but never thought the cleanest one is the best! Although Katex/Mathjax, Mermaid and highlight are not supported, there no bugs and the plugin is easy to understand. Yes, you can fix some problem like the "" tags. Strong recommend editor who what to use latex_math in markdown to have a try! You will not be disappointed!
18. Juli 2022. 1 reply
The best plugin. Quick, simple, what's needed. Combination of markdown + vimeo is awesome. I'm glad that I found it 😉 /denis
Read all 3 reviews

Contributors & Developers

“Markup Markdown” is open source software. The following people have contributed to this plugin.


Translate “Markup Markdown” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



Possible to do the following actions from the media uploader
– Adding an audio file
– Adding a video file
– Creating an audio playlist
– Creating a video playlist

Bug fixes:
– Music or movies was not usable
– Inserting multiples images at once or creating a gallery should work properly
– Solve an issue to avoid duplicate ids with images when using custom fields
– Better performance with a unique media wizard per page instead of one media wizard per custom field


– New beta interface based on HTML markups for better accessibility
– A few dependencies are now loaded from the UNPKG CDN (

Bug fix:
– The parser has been patched to be compatible with PHP >= 8.X


Bug fix:
– Lightboxes working again with the gallery shortcode


Bug fixes:
– Adding missing 2 & 3 columns styles for the gallery in the preview rendered by EasyMDE
– Shortcodes now working in the preview page rendered by WordPress (The one with /?preview=true in the url)


– Enabling „Screen options“ on the top right area of the settings page so you can activate or disable addons one by one


Bug fixes:
– Forcing WP medias tools to be available to avoid errors with some specific hosting
– CodeMirror instances now available from wp.pluginMarkupMarkdown.instances array for developers


– Better media support with native WordPress Modal UI for editor in the admin panel
– Tiny responsive features added for images uploaded via WordPress on the frontend (srcset)
Alignment and caption now works, converted as


figure> on the frontend
– Default [gallery] shortcodes should support columns & size attributes as well
– Syntax highlighting enabled in the preview

Bug fixes:
– 404 with one single dictionary activated
– Styles broken in the preview (conflict with default admin panel style)


Bug fix:
– Make the [my_gallery] shortcodes rendered as thumbnail galleries in the preview


Bug fixes:
– Patched the error when the config file was not found after upgrading


Code refactoring. Addon framework created !
Please setup and save again your settings again if need be. Sorry for the inconvenience.

New feature:
– Advanced Custom Field (ACF) support added with a „Markup Markdown“ content field


– Add Polylang compatibility by switching dictionaries order when editing a post in an alternative language


Bug fixes:
– Undefined variable with fresh install
– Editor was blocked in case one of the dictionary was not found


New features:
– Spell checking (experimental)
– Fresh settings panel

Bug fixes:
– Update EasyMDE version to 2.18.0 (Wrong version in previous commit, my bad)


  • Deleting experimental user interface
  • Adding WP_MMD_RAW_DATA constant for developers to disable the HTML output filter
    at a global level through the wp-config.php file or at a local level with hooks
    inside your child theme


Bug Fixes :
– Masonry setup fixed for the gallery layout


– New settings page with default layout options


– Adding feature to disable the editor for custom post types

In your child theme just turn off the markdown editor by adding the following snippet :


add_action(‘init’, function() {
remove_post_type_support(‘post_type_slug’, ‘markup_markdown’);

Bug Fixes:
– Remove debug lines


– Removing curl straight dependencies in favor of wp_remote_get functions
– Youtube oembed support added
– Remove unused files


Bug Fix:
– Public method mmd()->markdown2html fixed

Since the cache support from v1.3, the method was broken when used in templates.
The cache is only restricted to the post / page content.


– Vimeo arguments support added.

Please refer to the link below for the complete list :



Bug Fixes:
– Space at the beginning of the file and other typo
– Unknown unused callback


Bug Fixes:
– Multiple Vimeo url not working
– Non existent minified related map files removed

Experimental UI:
– Headlines input fixed
– HTML tags sidebar’s prototype released


Experimental UI: Adding modern syntax via summernote wysiwyg
Find out more here:


Improvement: Parsedown extra plugins added so you use extra features


Bug Fixes:
– Site ID used for the static cache rules, now compatible with network sites
– Regexp updated for vimeo videos
– Espaced quotes fix and lower filter priorities so other shortcodes can be parsed properly


Bug Fix: adding rules if cache directory not available


Adding cache via static files in the mmd-cache directory.


Adding Vimeo support. Vimeo links will be converted to iframes.


Bug Fix: Enabling gallery with archive templates


Bug Fix: Editor styles adjusted with WordPress


Bug Fix: Single image button not working properly


New Feature: Image Gallery using Lightbox and Masonry for the image gallery post format


Bug fix: modal preloading (Double click was required to add an image from the library)


Adding Youtube support. Youtube links will be converted to iframes.


Updates to match the WordPress Plugin Directory requirements


First version ! ! ! Based on:
– Javascript easyMDE 2.15.0
– PHP Parsedown 1.7.4

Developers can access the instance instance through the mmd() global function