Skip to content



Python Markdown has an extra extension that provides features similar to PHP Markdown Extra. PyMdown Extensions aims to provide not only new features, but to improve behavior in Python Markdown's existing feature set. Some of these things can be at odds. Python Markdown's smartstrong and fenced_code are not compatible with PyMdown Extensions' betterem and superfences. smartstong should never be loaded at the same time as betterem, and superfences should not be loaded at the same time as fenced_code. Because of this, it is not possible to use Python Markdown's extra and PyMdown Extensions' superfences and betterem. To make this less frustrating, PyMdown Extensions provides it's own implementation of extra.

PyMdown Extensions' extra is just like Python Markdown's extra except smartstrong is replaced by betterem and fenced_code is replaced by superfences. All other features and extensions should be identical because we are using the same ones.

This extension is a convenience extension, and it currently provides no other additional features. But remember don't use pymdownx.extra while also using markdown.extensions.extra!


Remember to read the Usage Notes for information that may be relevant when using this extension!


Extension Name
BetterEm pymdownx.betterem
SuperFences pymdownx.superfences
Footnotes markdown.extensions.footnotes
Attribute Lists markdown.extensions.attr_list
Definition Lists markdown.extensions.def_list
Tables markdown.extensions.tables
Abbreviations markdown.extensions.abbr
ExtraRawHTML pymdownx.extrarawhtml


If you wish to configure the individual extensions included via this extensions, you can configure them by placing that sub extension's settings under a setting value that equals the sub extensions name.

extension_configs = {
    'pymdownx.extra': {
        'markdown.extensions.footnotes': {
            'BACKLINK_TEXT': 'link'