Skip to main content

Convert text from JIRA markup to Markdown using parsing expression grammars

Project description


jira2markdown is a text converter from JIRA markup to YouTrack Markdown using parsing expression grammars. The Markdown implementation in YouTrack follows the CommonMark specification with extensions. Thus, jira2markdown can be used to convert text to any Markdown syntax with minimal modifications.


  • Python 3.6+


pip install jira2markdown


from jira2markdown import convert

convert("Some *Jira text* formatting [example|].")
# >>> Some **Jira text** formatting [example](

# To convert user mentions provide a mapping Jira internal account id to username 
# as a second argument to convert function
convert("[Winston Smith|~accountid:internal-id] woke up with the word 'Shakespeare' on his lips", {
    "internal-id": "winston",
# >>> @winston woke up with the word 'Shakespeare' on his lips

Conversion tables


Jira Markdown
h1. Biggest heading # Biggest heading
h2. Bigger heading ## Bigger heading
h3. Big heading ### Big heading
h4. Normal heading #### Normal heading
h5. Small heading ##### Small heading
h6. Smallest heading ###### Smallest heading

Text Effects

Jira Markdown
*strong* **strong**
_emphasis_ Not converted (the same syntax)
??citation?? <q>citation</q>
-deleted- ~~deleted~~
+inserted+ inserted
^superscript^ <sup>superscript</sup>
~subscript~ <sub>subscript</sub>
{{monospaced}} `monospaced`
bq. Some block quoted text > Some block quoted text
{quote}Content to be quoted{quote} > Content to be quoted
{color:red}red text!{color} <font color="red">red text!</font>

Text Breaks

Jira Markdown
\\ Line break


Jira Markdown
[#anchor] Not converted
[^attachment.ext] [attachment.ext](attachment.ext)
[] <>
[Example|] [Example](
[] <>
[file:///c:/temp/foo.txt] Not converted
{anchor:anchorname} Not converted
[~username] @username


Jira Markdown
* some
* bullet
** indented
** bullets
* points
- some
- bullet
  - indented
  - bullets
- points
# a
# numbered
# list
1. a
1. numbered
1. list
# a
# numbered
#* with
#* nested
#* bullet
# list
1. a
1. numbered
   - with
   - nested
   - bullet
1. list
* a
* bulleted
*# with
*# nested
*# numbered
* list
- a
- bulleted
  1. with
  1. nested
  1. numbered
- list


Jira Markdown
!image.gif|align=right, vspace=4!


Jira Markdown
||heading 1||heading 2||heading 3||
|col A1|col A2|col A3|
|col B1|col B2|col B3|

|heading 1|heading 2|heading 3|
|col A1|col A2|col A3|
|col B1|col B2|col B3|

Advanced Formatting

Jira Markdown
preformatted piece of text
 so *no* further _formatting_ is done here
preformatted piece of text
 so *no* further _formatting_ is done here
{panel:title=My Title}
Some text with a title
> **My Title**
> Some text with a title
        <another tag="attribute"/>
        <another tag="attribute"/>

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jira2markdown-0.1.8.tar.gz (8.6 kB view hashes)

Uploaded source

Built Distribution

jira2markdown-0.1.8-py3-none-any.whl (9.9 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page