Skip to content



Caret optionally adds two different features which are syntactically built around the ^ character. The first is insert which inserts <ins></ins> tags. The second is superscript which inserts <sup></sup> tags.

The Caret extension can be included in Python Markdown by using the following:

import markdown
md = markdown.Markdown(extensions=['pymdownx.caret'])


To wrap content in an insert tag, simply surround the text with double ^. You can also enable smart_insert in the options. Smart behavior of insert models that of BetterEm.

Insert Example

Insert me

^^Insert me^^


To denote a superscript, you can surround the desired content in single ^. It uses Pandoc style logic, so if your superscript needs to have spaces, you must escape the spaces.

Superscript Example


texta superscript


text^a\ superscript^


Option Type Default Description
smart_insert bool True Use smart logic with insert characters.
insert bool True Enable insert feature.
superscript bool True Enable superscript feature.

Last update: April 29, 2021