# Technical Documentation: mattcone/markdown-guide

> ℹ️ **Provenance:** In-Tree Documentation (105 Chapters) · [CodeWiki Reference](https://codewiki.google/github.com/mattcone/markdown-guide) · Recency: Active (< 180 days)

## File: README.md

# Markdown Guide

*[The Markdown Guide](https://www.markdownguide.org)* is a comprehensive Markdown reference designed for both novices and experts. It was born out of frustration with existing Markdown references that are incomplete and inadequate.

## Contributing

Contributions are welcome. Feel free to open a pull request with changes.

### Running it Locally

It can be helpful to preview changes on your computer before opening a pull request. *The Markdown Guide* uses the [Jekyll static site generator](http://jekyllrb.com/). After forking or cloning the repository, perform the following steps to generate the site and preview it:

- Make sure you have ruby installed on your computer. See https://www.ruby-lang.org/en/downloads/
- `bundle install`
- `bundle exec jekyll serve`
- Point your browser at http://127.0.0.1:4000/

### Adding tools

See [this page](https://github.com/mattcone/markdown-guide/wiki/Markdown-tool-directory) for information about adding applications to the [Markdown tools directory](https://www.markdownguide.org/tools/).

## License

The content of this project itself is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International license](LICENSE), and the underlying source code used to format and display that content is licensed under the [MIT license](LICENSE-CODE).

---

## File: _config.yml

title: "Markdown Guide"
url: https://www.markdownguide.org # site url
baseurl: "" # apply repo name if use it under gh-pages branch

repo: https://github.com/mattcone/markdown-guide
comments: false

plugins:
  - jekyll-last-modified-at
  - jekyll-sitemap

collections:
  basic-syntax:
  extended-syntax:
  tools:
    output: true
    permalink: /tools/:title/

defaults:
  - scope:
      type: tools
    values:
      layout: tool

# Build settings
permalink   : /:year/:title/
markdown    : kramdown
highlighter : rouge

source: ./
destination: ./_site

# Author settings
author:
  name     : "Matt Cone"

# social settings
og_locale: "en_US"

kramdown:
  syntax_highlighter: rouge
  input: GFM
  auto_ids:       true
  toc_levels:     1..3

exclude: ["vendor", "Gemfile", "Gemfile.lock", "README.md", "LICENSE.txt", "Rakefile", "netlify.toml", "deploy.sh", "redirects.conf"]

---

## File: about.md

---
layout: about
title: About
---

## Purpose

*The Markdown Guide* is a comprehensive Markdown reference designed for both novices and experts. It was born out of frustration with existing Markdown references that are incomplete, inadequate, or both.

## Contributing

This is an open-source project, and your contributions are welcome. The repository is [hosted on GitHub](https://github.com/mattcone/markdown-guide). See the [README](https://github.com/mattcone/markdown-guide/blob/master/README.md) for instructions and guidelines.

## Reporting Issues

Find a typo or inaccurate statement? Please [create an issue](https://github.com/mattcone/markdown-guide/issues) in the GitHub project.

## Contacting

Use the [contact form](/contact/) to send a message to the maintainer of *The Markdown Guide*.

## Acknowledgements

*The Markdown Guide* is made possible by the support of several individuals and organizations. Thanks to [all who have contributed](https://github.com/mattcone/markdown-guide/graphs/contributors) to this project.

## License

The content of this project itself is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International license](https://creativecommons.org/licenses/by-sa/4.0/), and the underlying source code used to format and display that content is licensed under the [MIT license](https://github.com/mattcone/markdown-guide/blob/master/LICENSE-CODE).

## Affiliate Links

Some links to products on this website use Amazon affiliate links. If you purchase an item through one of these links, I receive a small percentage of the purchase price (around 4-5%).

Here's the fine print: 

> *The Markdown Guide* is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com.

---

## File: basic-syntax.md

---
layout: default
title: Basic Syntax
last_modified_at: 2025-09-28
---

{% include syntax.html type="basic" syntax-id="overview" %}

{% include syntax.html type="basic" syntax-id="headings" %}

{% include syntax.html type="basic" syntax-id="paragraphs" %}

{% include syntax.html type="basic" syntax-id="line-breaks" %}

{% include syntax.html type="basic" syntax-id="emphasis" %}

{% include syntax.html type="basic" syntax-id="blockquotes" %}

{% include syntax.html type="basic" syntax-id="lists" %}

{% include syntax.html type="basic" syntax-id="code" %}

{% include syntax.html type="basic" syntax-id="horizontal-rules" %}

{% include syntax.html type="basic" syntax-id="links" %}

{% include syntax.html type="basic" syntax-id="images" %}

{% include syntax.html type="basic" syntax-id="escaping-characters" %}

{% include syntax.html type="basic" syntax-id="html" %}

---

## File: book.md

---
layout: book
title: The Markdown Guide Book
---


  
    <h1 class="no-anchor" style="margin-top: 15px;">The Markdown Guide</h1>
    By Matt Cone
    Learn Markdown in 60 pages. *The Markdown Guide* book includes everything you need to get started and master Markdown syntax.

    ✔️ &nbsp; Professional quality PDF and EPUB files (DRM-free)
    ✔️ &nbsp; Unlimited free lifetime updates
    ✔️ &nbsp; 100% satisfaction guaranteed

    
      
        <a class="btn btn-success btn-lg" style="margin-right: 20px; margin-top: 5px" href="https://mattcone.gumroad.com/l/markdownguide">Buy now for $5</a>
        
        <a class="btn btn-outline-secondary btn-lg" style="margin-top: 5px" href="/assets/markdown-guide-sample.pdf">Read free sample</a>
      
    

    *The Markdown Guide* is also available on [Leanpub](https://leanpub.com/themarkdownguide) and [Amazon](https://amzn.to/31FMLMA).
  
  
    <a href="https://mattcone.gumroad.com/l/markdownguide">
      {% include image.html file="/assets/images/book-cover.jpg" alt="Markdown Guide book cover" class="img-fluid float-center" width="95" %}
    </a>
  



  
    
      <h5 class="card-title no-anchor text-center" style="padding-top: 0;"><small class="text-muted">Read by professionals working at:</small></h5>
      
      
      
      
      
      
    
  


<h2 class="no-anchor text-center" style="padding-top: 60px;">Take your Markdown skills to the next level.</h2>
Master the power of Markdown and take full control of the syntax.


  
    
      📚
      Learn how Markdown works and dive in using an online editor.
    
    
      📝
      Practice using basic and extended Markdown syntax elements.
    
    
      💪
      Start using Markdown everywhere for all of your writing.
    
  


<h2 class="no-anchor text-center" style="padding-top:80px;">What's inside.</h2>
Detailed descriptions. Clear and concise examples. Beautifully formatted pages.


  
    
      <a href="/assets/markdown-guide-sample.pdf">
        {% include image.html file="/assets/images/book-page-1.png" alt="The Markdown Guide book page one" class="img-fluid border rounded" width="90" lazy="yes" %}
      </a>
    
    
      <a href="/assets/markdown-guide-sample.pdf">
        {% include image.html file="/assets/images/book-page-2.png" alt="The Markdown Guide book page two" class="img-fluid border rounded" width="90" lazy="yes" %}
      </a>
    
  


<h2 class="no-anchor text-center" style="padding-top: 70px; padding-bottom:20px;">Trusted by thousands of readers.</h2>

  
    
      [](https://mattcone.gumroad.com/l/markdownguide)
      5 stars on [Gumroad](https://mattcone.gumroad.com/l/markdownguide)
    
    
      [](https://amzn.to/31FMLMA)
      4 stars on [Amazon](https://amzn.to/31FMLMA)
    
    
      [](https://www.goodreads.com/book/show/41831817-the-markdown-guide)
      4 stars on [Goodreads](https://www.goodreads.com/book/show/41831817-the-markdown-guide)
    
  



  *The Markdown Guide* is hands-down the best Markdown reference.
  <footer class="blockquote-footer" style="padding-bottom:20px;">Michael Hartl, Founder of [Learn Enough](https://www.learnenough.com/) and author of the [Ruby on Rails Tutorial](https://www.railstutorial.org/)</footer>



  If you're looking for an in-depth guide for more Markdown tips and tricks, I highly recommend the unofficial but authoritative *Markdown Guide*.
  <footer class="blockquote-footer" style="padding-bottom:20px;">Justin Duke, Engineering Manager at [Stripe](https://stripe.com/) and Founder of [Buttondown](https://buttondown.email/)</footer>



  *The Markdown Guide* is awesome. I keep it open in a browser tab for reference while working on my guides.
  <footer class="blockquote-footer" style="padding-bottom:20px;">Rob Reeder, Documentation Specialist, [Software Engineering Institute, CMU](https://cert.org)</footer>



  The perfect book form teaching resource for Markdown — concise, mapping functionality, extensions, and best practices. Not a long read, but if you like documentation in book format (I do), this is the book for Markdown syntax.
  <footer class="blockquote-footer" style="padding-bottom:20px;">Federico Lucifredi, Author of *AWS System Administration: Best Practices for Sysadmins in the Amazon Cloud*, via [Goodreads](https://www.goodreads.com/review/show/6668744902)</footer>



  A terrific reference—straightforward and well organized, briskly paced, and featuring a spot-on instructive tone that conveys friendly engagement.
  <footer class="blockquote-footer" style="padding-bottom:20px;">David Buck, Technical Writer</footer>



  This book provides the right amount of information to learn Markdown and I highly recommend it!
  <footer class="blockquote-footer" style="padding-bottom:20px;">Mohamad Kalaaji, via [Goodreads](https://www.goodreads.com/review/show/3419254608)</footer>


<h2 class="no-anchor text-center">100% satisfaction guaranteed.</h2>
If you're not completely satisfied with *The Markdown Guide*, I'll refund your money, no questions asked.

<a class="btn btn-success btn-lg" style="margin-right:20px; margin-top:5px;" href="https://mattcone.gumroad.com/l/markdownguide">Buy now for $5</a>


  
    
      <h3 class="no-anchor" style="padding-bottom:10px;">About the Author</h3>
      Matt Cone is a technical writer at [Fastly](https://www.fastly.com). He has experience creating documentation for organizations like Linode and the U.S. Department of Health and Human Services. Matt's first book, *[Master Your Mac](https://www.amazon.com/Master-Your-Mac-Simple-Customize/dp/1593274068/)*, was published by No Starch Press. To get in touch with Matt, visit [https://www.mattcone.com](https://www.mattcone.com).
    
    
      {% include image.html file="/assets/images/mattcone.jpg" alt="Matt Cone" class="img-fluid border rounded" width="90" lazy="yes" %}

---

## File: cheat-sheet.md

---
layout: default
title: Markdown Cheat Sheet
last_modified_at: 2021-12-05
hide_book_cta: true
---

## Overview

This Markdown cheat sheet provides a quick overview of all the Markdown syntax elements. It can't cover every edge case, so if you need more information about any of these elements, refer to the reference guides for [basic syntax](/basic-syntax/) and [extended syntax](/extended-syntax/).

## Basic Syntax

These are the elements outlined in John Gruber's original design document. All Markdown applications support these elements.



| Element | Markdown Syntax |
| --- | --- |
| [Heading](/basic-syntax/#headings) | # H1
          ## H2
          ### H3 |
| [Bold](/basic-syntax/#bold) | `**bold text**` |
| [Italic](/basic-syntax/#italic) | `*italicized text*` |
| [Blockquote](/basic-syntax/#blockquotes-1) | `> blockquote` |
| [Ordered List](/basic-syntax/#ordered-lists) | 1. First item
        2. Second item
        3. Third item |
| [Unordered List](/basic-syntax/#unordered-lists) | - First item
          - Second item
          - Third item |
| [Code](/basic-syntax/#code) | ``code`` |
| [Horizontal Rule](/basic-syntax/#horizontal-rules) | `---` |
| [Link](/basic-syntax/#links) | `[title](https://www.example.com)` |
| [Image](/basic-syntax/#images-1) | `` |



## Extended Syntax

These elements extend the basic syntax by adding additional features. Not all Markdown applications support these elements.



| Element | Markdown Syntax |
| --- | --- |
| [Table](/extended-syntax/#tables) |   Syntax        Description  
            -----------   -----------  
            Header        Title        
            Paragraph     Text          |
| [Fenced Code Block](/extended-syntax/#fenced-code-blocks) | ```<br>
      {<br>
      &nbsp;&nbsp;"firstName": "John",<br>
      &nbsp;&nbsp;"lastName": "Smith",<br>
      &nbsp;&nbsp;"age": 25<br>
      }<br>
      ``` |
| [Footnote](/extended-syntax/#footnotes) | Here's a sentence with a footnote. [^1]
        [^1]: This is the footnote. |
| [Heading ID](/extended-syntax/#heading-ids) | `### My Great Heading {#custom-id}` |
| [Definition List](/extended-syntax/#definition-lists) | term
        : definition |
| [Strikethrough](/extended-syntax/#strikethrough) | `~~The world is flat.~~` |
| [Task List](/extended-syntax/#task-lists) | - [x] Write the press release
        - [ ] Update the website
        - [ ] Contact the media |
| [Emoji](/extended-syntax/#emoji)(see also [Copying and Pasting Emoji](/extended-syntax/#copying-and-pasting-emoji)) | That is so funny! :joy: |
| [Highlight](/extended-syntax/#highlight) | I need to highlight these ==very important words==. |
| [Subscript](/extended-syntax/#subscript) | H~2~O |
| [Superscript](/extended-syntax/#superscript) | X^2^ |



## Downloads

You can [download this cheat sheet as a Markdown file](/assets/markdown-cheat-sheet.md) for use in your Markdown application.

{% include jotbird-cta.html
  page_id="cheat-sheet"
  lead="Got a Markdown doc you want to send someone? Paste it into JotBird and get a shareable web page in seconds. No account needed to try it."
%}

---

## File: contact.md

---
layout: about
title: Contact
---

## Email

Feel free to email me at [matt@macinstruct.com](mailto:matt@macinstruct.com). I can't reply to every message, but I do read them all.

---

## File: extended-syntax.md

---
layout: default
title: Extended Syntax
last_modified_at: 2022-01-03
hide_book_cta: true
---

{% include syntax.html type="extended" syntax-id="overview" %}

{% include syntax.html type="extended" syntax-id="availability" %}

{% include syntax.html type="extended" syntax-id="tables" %}

{% include syntax.html type="extended" syntax-id="fenced-code-blocks" %}

{% include syntax.html type="extended" syntax-id="footnotes" %}

{% include syntax.html type="extended" syntax-id="heading-ids" %}

{% include syntax.html type="extended" syntax-id="definition-lists" %}

{% include syntax.html type="extended" syntax-id="strikethrough" %}

{% include syntax.html type="extended" syntax-id="task-lists" %}

{% include syntax.html type="extended" syntax-id="emoji" %}

{% include syntax.html type="extended" syntax-id="highlight" %}

{% include syntax.html type="extended" syntax-id="subscript" %}

{% include syntax.html type="extended" syntax-id="superscript" %}

{% include syntax.html type="extended" syntax-id="automatic-url-linking" %}

{% include jotbird-cta.html
  page_id="extended-syntax"
  lead="Got a Markdown doc with a table you want to share? JotBird renders tables, footnotes, code blocks — all of it — and publishes the result to a clean URL in one click."
%}

---

## File: getting-started.md

---
layout: default
title: Getting Started
last_modified_at: 2026-05-15
---

{% include_relative _getting-started/what-is-markdown.md %}

{% include_relative _getting-started/why-use-markdown.md %}

{% include_relative _getting-started/kicking-the-tires.md %}

{% include_relative _getting-started/how-does-it-work.md %}

{% include_relative _getting-started/whats-markdown-good-for.md %}

{% include_relative _getting-started/flavors-of-markdown.md %}

{% include_relative _getting-started/additional-resources.md %}

---

## File: hacks.md

---
layout: default
title: Hacks
last_modified_at: 2022-04-15
hide_book_cta: true
---

## Overview

The majority of people using Markdown will find that the [basic](/basic-syntax/) and [extended syntax](/extended-syntax/) elements cover their needs. But chances are that if you use Markdown long enough, you'll inevitably discover that it doesn't support something you need. This page provides tips and tricks for working around Markdown's limitations.


   **Tip:** These hacks aren't guaranteed to work in your Markdown application. If you need to use these hacks frequently, you should consider writing using something other than Markdown. 


## Underline

Underlined text is not something you typically see in web writing, probably because underlined text is nearly synonymous with links. However, if you're writing a paper or a report, you may need the ability to underline words and phrases. A couple of applications like [Bear](/tools/bear/) and [Simplenote](/tools/simplenote/) provide support for underlining text, but Markdown doesn't natively support underlining. If your Markdown processor supports [HTML](/basic-syntax/#html), you can use the `` HTML tag to underline text in your document.

```html
Some of these words <ins>will be underlined</ins>.
```

The rendered output looks like this:

Some of these words will be underlined.

## Indent (Tab)

Tabs and whitespace have a special meaning in Markdown. You can use trailing whitespace to create [line breaks](/basic-syntax/#line-breaks), and you can use tabs to create [code blocks](/basic-syntax/#code-blocks). But what if you need to indent a paragraph the old-fashioned way, using the tab key? Markdown doesn't provide an easy way of doing that. 

Your best bet might be to use a Markdown editor that supports indentation. This is common in applications that are more oriented towards desktop publishing. For example, [iA Writer](/tools/ia-writer/) allows you to customize indentation settings for the editor in the application preferences. It also provides template customization options so that you can make the rendered document look the way you expect it to, indentation and all.

Another option, if your Markdown processor supports [HTML](/basic-syntax/#html), is to use the HTML entity for non-breaking space (`&nbsp;`). This should probably be your option of last resort as it can get awkward. Basically, every `&nbsp;` in your Markdown source will be replaced with a space in the rendered output. So if you stick four instances of `&nbsp;` before a paragraph, the paragraph will look like it's indented four spaces.

```html
&nbsp;&nbsp;&nbsp;&nbsp;This is the first sentence of my indented paragraph.
```

The rendered output looks like this:

&nbsp;&nbsp;&nbsp;&nbsp;This is the first sentence of my indented paragraph.

## Center

Having the ability to center text is a necessity when writing a paper or a report. Unfortunately, Markdown doesn't have any concept of text alignment (one possible exception is when using [tables](/extended-syntax/#alignment)). The good news is that there's an HTML tag you can use: ``. If your Markdown processor supports [HTML](/basic-syntax/#html), you can place these tags around whatever text you want to center align.

```html
<center>This text is centered.</center>
```

The rendered output looks like this:

This text is centered.

The `` HTML tag is technically supported but officially [deprecated](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/center), which means it works for now but you're not supposed to be using it. Unfortunately, there's not another pure HTML alternative. You could try using one of the CSS alternatives. Not all Markdown applications provide CSS support, but if the one you're using does, here's an alternative to the `` tag: 

```html
<p style="text-align:center">Center this text</p>
```

If this is supported by your Markdown application, the output looks like this:

Center this text

## Color

Markdown doesn't allow you to change the color of text, but if your Markdown processor supports [HTML](/basic-syntax/#html), you can use the `` HTML tag. The `color` attribute allows you to specify the font color using a color's name or the hexadecimal `#RRGGBB` code.

```html
<font color="red">This text is red!</font>
```

The rendered output looks like this:

This text is red!

The `` HTML tag is technically supported but officially [deprecated](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/font), which means it works for now but you're not supposed to be using it. Unfortunately, there's not another pure HTML alternative. You could try using one of the CSS alternatives. Not all Markdown applications provide CSS support, but if the one you're using does, here's an alternative to the `` tag: 

```html
<p style="color:blue">Make this text blue.</p>
```

If this is supported by your Markdown application, the output looks like this:

Make this text blue.

## Comments

Some people need the ability to write sentences in their Markdown files that *will not* appear in the rendered output. These comments are essentially hidden text. The text is viewable by the author of the document, but it's not printed on the webpage or PDF. Markdown doesn't natively support comments, but several enterprising individuals have devised a solution. 

To add a comment, place text inside brackets followed by a colon, a space, and a pound sign (e.g., `[comment]: #`). You should put blank lines before and after a comment.

```text
Here's a paragraph that will be visible.

[This is a comment that will be hidden.]: # 

And here's another paragraph that's visible.
```

The rendered output looks like this:

Here's a paragraph that will be visible.

[This is a comment that will be hidden.]: # 

And here's another paragraph that's visible.


   **Tip:** This tip comes from [Stack Overflow](https://stackoverflow.com/questions/4823468/comments-in-markdown). It's been peer-reviewed and used by thousands of people!


## Admonitions

Admonitions are frequently used in documentation to call attention to warnings, notes, and tips. Markdown doesn't provide special syntax for admonitions, and most Markdown applications don't provide support for admonitions (one exception is [MkDocs](/tools/mkdocs/)). 

However, if you need to add admonitions, you might be able to use [blockquotes](/basic-syntax/#blockquotes-1) with [emoji](/extended-syntax/#emoji) and [emphasis](/basic-syntax/#emphasis) to create something that looks similar to the admonitions you see on other websites.

```text
> :warning: **Warning:** Do not push the big red button.

> :memo: **Note:** Sunrises are beautiful.

> :bulb: **Tip:** Remember to appreciate the little things in life.
```

The rendered output looks like this:

> ⚠️ **Warning:** Do not push the big red button.

> 📝 **Note:** Sunrises are beautiful.

> 💡 **Tip:** Remember to appreciate the little things in life.

## Image Size

The Markdown syntax for [images](/basic-syntax/#images-1) doesn't allow you to specify the width and height of images. If you need to resize an image and your Markdown processor supports [HTML](/basic-syntax/#html), you can use the `img` HTML tag with the `width` and `height` attributes to set the dimensions of an image in pixels.

```html
<img src="image.png" width="200" height="100">
```

The rendered output will contain the image resized to the dimensions you specified. 

## Image Captions

Markdown doesn't natively support image captions, but there are two possible workarounds. If your Markdown application supports [HTML](/basic-syntax/#html), you can use the `figure` and `figcaption` HTML tags to add a caption for your image.

```html
<figure>
    <img src="/assets/images/albuquerque.jpg"
         alt="Albuquerque, New Mexico">
    <figcaption>A single track trail outside of Albuquerque, New Mexico.</figcaption>
</figure>
```

The rendered output looks like this:

<figure>
    {% include image.html file="/assets/images/albuquerque.jpg" alt="Albuquerque, New Mexico" lazy="yes" %}
    <figcaption>A single track trail outside of Albuquerque, New Mexico.</figcaption>
</figure>


   **Tip:** If your Markdown application supports CSS, you can use CSS to style the appearance of the caption.


If your Markdown application doesn't support HTML, you could try placing the caption directly below the image and using [emphasis](/basic-syntax/#emphasis).

```text
![Albuquerque, New Mexico](/assets/images/albuquerque.jpg)
*A single track trail outside of Albuquerque, New Mexico.*
```

The rendered output looks like this:

{% include image.html file="/assets/images/albuquerque.jpg" alt="Albuquerque, New Mexico" lazy="yes" %}
*A single track trail outside of Albuquerque, New Mexico.*

## Link Targets

Some people like creating links that open in new tabs or windows. The Markdown syntax for [links](/basic-syntax/#links) doesn't allow you to specify the `target` attribute, but if your Markdown processor supports [HTML](/basic-syntax/#html), you can use HTML to create these  links.

```html
<a href="https://www.markdownguide.org" target="_blank">Learn Markdown!</a>
```

The rendered output looks like this:

[Learn Markdown!](https://www.markdownguide.org)

## Symbols

Markdown doesn't provide special syntax for symbols. However, in most cases, you can copy and paste whatever symbol you want to use into your Markdown document. For example, if you need to display Pi (π), just find the symbol on a webpage and copy and paste it into your document. The symbol should appear as expected in the rendered output.

Alternatively, if your Markdown application supports [HTML](/basic-syntax/#html), you can use the HTML entity for whatever symbol you want to use. For example, if you want to display the copyright sign (&copy;), you can copy and paste the HTML entity for copyright (`&copy;`) into your Markdown document.

Here's a partial list of HTML entities for symbols:

- Copyright (&copy;) — `&copy;`
- Registered trademark (&reg;) — `&reg;`
- Trademark (&trade;) — `&trade;`
- Euro (&euro;) — `&euro;`
- Left arrow (&larr;) — `&larr;`
- Up arrow (&uarr;) — `&uarr;`
- Right arrow (&rarr;) — `&rarr;`
- Down arrow (&darr;) — `&darr;`
- Degree (&#176;) — `&#176;`
- Pi (&#960;) — `&#960;`

For a complete list of available HTML entities, refer to Wikipedia's page on [HTML entities](https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references). 

## Table Formatting

Markdown [tables](/extended-syntax/#tables) are notoriously finicky. You can't use many Markdown syntax elements to format the text in table cells. But there are workarounds for at least two common table issues: Line breaks and lists.

### Line Breaks Within Table Cells

You can separate paragraphs within a table cell by using one or more `` HTML tags. 

```
| Syntax      | Description |
| ----------- | ----------- |
| Header      | Title |
| Paragraph   | First paragraph. <br><br> Second paragraph. |
```

The rendered output looks like this:



| Syntax | Description |
| --- | --- |
| Header | Title |
| Paragraph | First paragraph.  Second paragraph. |



### Lists Within Table Cells

You can add a list within a table cell by using HTML tags. 

```
| Syntax      | Description |
| ----------- | ----------- |
| Header      | Title |
| List        | Here's a list! <ul><li>Item one.</li><li>Item two.</li></ul> |
```

The rendered output looks like this:



| Syntax | Description |
| --- | --- |
| Header | Title |
| List | Here's a list! Item one.Item two. |



## Table of Contents

Some Markdown applications like [Markdeep](/tools/markdeep/) can automatically generate a table of contents (also referred to as a *toc*) from your [headings](/basic-syntax/#headings), but this isn't a feature provided by all Markdown applications. However, if your Markdown application supports [heading IDs](/extended-syntax/#heading-ids), you can create a table of contents for your Markdown file using a [list](/basic-syntax/#lists-1) and some [links](/basic-syntax/#links).

```html
#### Table of Contents

- [Underline](#underline)
- [Indent](#indent)
- [Center](#center)
- [Color](#color)
```

The rendered output looks like this:

<h4 class="no-anchor" data-toc-skip>Table of Contents</h4>

- [Underline](#underline)
- [Indent](#indent)
- [Center](#center)
- [Color](#color)

## Videos

If your Markdown application supports [HTML](/basic-syntax/#html), you should be able to embed a video in your Markdown file by copying and pasting the HTML code provided by a video website like YouTube or Vimeo. If your Markdown application doesn't support HTML, you can't embed a video, but you can come close by adding an [image](/basic-syntax/#images-1) and a link to the video. You could do this with practically any video on any video service. 

Since YouTube makes this easy, we'll use them as an example. Take this video, for instance: `https://www.youtube.com/watch?v=8q2IjQOzVpE`. The last part of the URL (`8q2IjQOzVpE`) is the ID of the video. We can take that ID and put it in the following template:

```test
[![Image alt text](https://img.youtube.com/vi/YOUTUBE-ID/0.jpg)](https://www.youtube.com/watch?v=YOUTUBE-ID)
```

YouTube automatically generates an image for every video (`https://img.youtube.com/vi/YOUTUBE-ID/0.jpg`), so we can use that and [link the image](/basic-syntax/#linking-images) to the video on YouTube. After we replace the image alt text and add the ID of the video, our example looks like this:

```test
[![Less Than Jake — Scott Farcas Takes It On The Chin](https://img.youtube.com/vi/PYCxct2e0zI/0.jpg)](https://www.youtube.com/watch?v=PYCxct2e0zI)
```

The rendered output looks like this:

[](https://www.youtube.com/watch?v=PYCxct2e0zI)

{% include jotbird-cta.html
  page_id="hacks"
  lead="Built something interesting with Markdown? JotBird publishes any Markdown document to a shareable web page in one click — pasted images, syntax-highlighted code, the works."
%}

---

## File: privacy-policy.md

---
layout: about
title: Privacy Policy
---

## Overview

We collect as little personal data as possible, and we don't track you. In this policy, you can read how we collect and use your information. It also describes how we use cookies.

## How we collect and use information

We collect and use information in order to provide you the services of the Markdown Guide. Unless stated otherwise, we do not process or store your IP address or any other personally identifiable information.

Here are all the ways in which we collect and use your information:

- **Serving requests**: Our hosting partner [Fastly](https://docs.fastly.com/en/guides/data-management) collects your IP address. This data is retained for no longer than 30 days.
- **Analyzing web traffic**: We use a self-hosted instance of [Plausible](https://plausible.io/) to process the pages you request, as well as your IP address. Your IP address is used to estimate your geolocation and will not be stored.
- **Serving ads**: Our partner [EthicalAds](https://www.ethicalads.io/) processes your IP address to estimate your geolocation in order to serve country specific ads.
- **Contacting us**: When you [contact us](/contact/), you can provide your name and email address. If you do, they will be sent to us by email, in order for us to reply to you.

## Cookies

We don't use cookies on the Markdown Guide.

## Safeguards

The Markdown Guide follows generally accepted industry standards and maintains reasonable safeguards to attempt to ensure the security, integrity, and privacy of the information in the Markdown Guide's possession.

## What choices do I have?

As you can tell by the list above, we collect very limited information. Of this data, the personally identifiable information is necessary in order to provide the services of the Markdown Guide. You can choose not to use the Markdown Guide if you do not want us to use this information.

## Changes and questions

We may revise this policy from time to time. The changes will not be retroactive, and the most current version of this policy will govern our relationship with you. By continuing to access or use the Markdown Guide after those revisions become effective, you agree to the revised policy.

If you have any questions or feedback regarding this privacy policy, you may [contact us](/contact/).

Last updated: 2023-09-24

---

## File: robots.txt

User-agent: *
Sitemap: https://www.markdownguide.org/sitemap.xml
Disallow: /assets/markdown-cheat-sheet.md
Disallow: /assets/markdown-guide-sample.pdf

---

## File: terms-and-conditions.md

---
layout: about
title: Terms and Conditions
---

## Overview

By accessing this website, you are agreeing to be bound by these Terms and Conditions of Use, all applicable laws and regulations, and agree that you are responsible for compliance with any applicable local laws. If you do not agree with any of these terms, you are prohibited from using or accessing this site. The materials contained in this website are protected by applicable copyright and trademark law.

## License

This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) ](https://creativecommons.org/licenses/by-sa/4.0/).

## Disclaimer

The materials on the Markdown Guide’s website are provided “as is”. The Markdown Guide makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties, including without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights. Further, the Markdown Guide does not warrant or make any representations concerning the accuracy, likely results, or reliability of the use of the materials on its Internet website or otherwise relating to such materials or on any sites linked to this site.

## Limitations

In no event shall the Markdown Guide or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption,) arising out of the use or inability to use the materials on the Markdown Guide’s Internet site, even if the Markdown Guide or an authorized representative has been notified orally or in writing of the possibility of such damage. Because some jurisdictions do not allow limitations on implied warranties, or limitations of liability for consequential or incidental damages, these limitations may not apply to you.

## Revisions and Errata

The materials appearing on the Markdown Guide’s website could include technical, typographical, or photographic errors. The Markdown Guide does not warrant that any of the materials on its website are accurate, complete, or current. The Markdown Guide may make changes to the materials contained on its website at any time without notice. The Markdown Guide does not, however, make any commitment to update the materials.

## Links

The Markdown Guide has not reviewed all of the sites linked to its Internet website and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by the Markdown Guide of the site. Use of any such linked website is at the user’s own risk.

## Affiliate Information

The Markdown Guide is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.

## Modifications

The Markdown Guide may revise these terms of use for its website at any time without notice. By using this website you are agreeing to be bound by the then current version of these Terms and Conditions of Use.

## Governing Law

Any claim relating to the Markdown Guide’s website shall be governed by the laws of the State of New Mexico without regard to its conflict of law provisions.

## Contact Us

If you have any questions about these Terms and Conditions of Use, please [contact us](/contact/).

---

## File: tools.md

---
layout: tools
title: Tools
last_modified_at: 2026-05-15
---


  
    
      
        <h4 class="card-title no-anchor" style="margin-top: -20px;">👋&nbsp;&nbsp;&nbsp;Howdy!</h4>
        This is the start of a comprehensive Markdown tool directory. Compiling all this will take some time! [Learn how to contribute.](https://github.com/mattcone/markdown-guide/wiki/Markdown-tool-directory)
      
    
  

  {% for tool in site.tools %}
  
    
      
        <h4 class="card-title no-anchor" style="margin-top: -20px; font-size: 20px;">[]({{ tool.url }})&nbsp;&nbsp;{{ tool.title }}</h4>
        {{ tool.description }}
        [Learn more]({{ tool.url }})
      
    
  
  {% endfor %}

---

## File: _basic-syntax/blockquotes.md

---
title: Blockquotes
syntax-id: blockquotes
syntax-summary: "> blockquote"
examples:
  - markdown: "> Dorothy followed her through many of the beautiful rooms in  her castle."
    html: "Dorothy followed her through many of the beautiful rooms in her castle."
additional-examples:
  - name: "Blockquotes with Multiple Paragraphs"
    markdown: |
      > Dorothy followed her through many of the beautiful rooms in her castle.
      >
      > The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
    html: "Dorothy followed her through many of the beautiful rooms in her castle.The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood."
  - name: "Nested Blockquotes"
    markdown: |
      > Dorothy followed her through many of the beautiful rooms in her castle.
      >
      >> The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
    html: "Dorothy followed her through many of the beautiful rooms in her castle.The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood."
  - name: "Blockquotes with Other Elements"
    markdown: |
      > ### The quarterly results look great!
      >
      > - Revenue was off the chart.
      > - Profits were higher than ever.
      >
      >  *Everything* is going according to **plan**.
    html: "<h3>The quarterly results look great!</h3><li>Revenue was off the chart.</li><li>Profits were higher than ever.</li>*Everything* is going according to **plan**."
---

To create a blockquote, add a `>` in front of a paragraph.

```
> Dorothy followed her through many of the beautiful rooms in her castle.
```

The rendered output looks like this:

> Dorothy followed her through many of the beautiful rooms in her castle.

### Blockquotes with Multiple Paragraphs

Blockquotes can contain multiple paragraphs. Add a `>` on the blank lines between the paragraphs.

```
> Dorothy followed her through many of the beautiful rooms in her castle.
>
> The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
```

The rendered output looks like this:

> Dorothy followed her through many of the beautiful rooms in her castle.
>
> The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.

### Nested Blockquotes

Blockquotes can be nested. Add a `>>` in front of the paragraph you want to nest.

```
> Dorothy followed her through many of the beautiful rooms in her castle.
>
>> The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
```

The rendered output looks like this:

> Dorothy followed her through many of the beautiful rooms in her castle.
>
>> The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.

### Blockquotes with Other Elements

Blockquotes can contain other Markdown formatted elements. Not all elements can be used — you'll need to experiment to see which ones work.

```
> #### The quarterly results look great!
>
> - Revenue was off the chart.
> - Profits were higher than ever.
>
>  *Everything* is going according to **plan**.
```

The rendered output looks like this:

> <h4 class="no-anchor">The quarterly results look great!</h4>
>
> - Revenue was off the chart.
> - Profits were higher than ever.
>
> *Everything* is going according to **plan**.

### Blockquotes Best Practices

For compatibility, put blank lines before and after blockquotes.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| Try to put a blank line before...

        > This is a blockquote

        ...and after a blockquote. | Without blank lines, this might not look right.
        > This is a blockquote
        Don't do this! |

---

## File: _basic-syntax/bold.md

---
title: Bold
syntax-id: bold
syntax-summary: "**bold text**"
examples:
  - markdown: "I just love **bold text**."
    html: "I just love **bold text**."
  - markdown: "I just love __bold text__."
    html: "I just love **bold text**."
  - markdown: "Love**is**bold"
    html: "Love**is**bold"
---

To bold text, add two asterisks or underscores before and after a word or phrase. To bold the middle of a word for emphasis, add two asterisks without spaces around the letters.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| I just love **bold text**. | I just love &lt;strong&gt;bold text&lt;/strong&gt;. | I just love **bold text**. |
| I just love __bold text__. | I just love &lt;strong&gt;bold text&lt;/strong&gt;. | I just love **bold text**. |
| Love**is**bold | Love&lt;strong&gt;is&lt;/strong&gt;bold | Love**is**bold |



#### Bold Best Practices

Markdown applications don't agree on how to handle underscores in the middle of a word. For compatibility, use asterisks to bold the middle of a word for emphasis.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| Love**is**bold | Love__is__bold |

---

## File: _basic-syntax/code.md

---
title: Code
syntax-id: code
syntax-summary: "`code`"
examples:
  - markdown: "At the command prompt, type `nano`."
    html: "At the command prompt, type `nano`."
additional-examples:
  - name: "Escaping Backticks"
    markdown: "``Use `code` in your Markdown file.``"
    html: `Use `code` in your Markdown file.`
  - name: "Code Blocks"
    markdown: |
        <html>
          <head>
          </head>
        </html>
    html: `<html><head></head></html>`
---

To denote a word or phrase as code, enclose it in backticks (`` ` ``).



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| At the command prompt, type `nano`. | At the command prompt, type &lt;code&gt;nano&lt;/code&gt;. | At the command prompt, type nano. |



### Escaping Backticks

If the word or phrase you want to denote as code includes one or more backticks, you can escape it by enclosing the word or phrase in double backticks (````).



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| ```Use `code` in your Markdown file.``` | &lt;code&gt;Use `code` in your Markdown file.&lt;/code&gt; | `Use `code` in your Markdown file.` |



### Code Blocks

To create code blocks, indent every line of the block by at least four spaces or one tab.

```text
    <html>
      <head>
      </head>
    </html>
```

The rendered output looks like this:

```text
<html>
  <head>
  </head>
</html>
```


   **Note:** To create code blocks without indenting lines, use [fenced code blocks](/extended-syntax/#fenced-code-blocks).

---

## File: _basic-syntax/emphasis.md

---
title: Emphasis
syntax-id: emphasis
api: "no"
---

You can add emphasis by making text bold or italic.

{% include syntax.html type="basic-sub" syntax-id="bold" %}

{% include syntax.html type="basic-sub" syntax-id="italic" %}

### Bold and Italic

To emphasize text with bold and italics at the same time, add three asterisks or underscores before and after a word or phrase. To bold and italicize the middle of a word for emphasis, add three asterisks without spaces around the letters.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| This text is ***really important***. | This text is &lt;em&gt;&lt;strong&gt;really important&lt;/strong&gt;&lt;/em&gt;. | This text is ***really important***. |
| This text is ___really important___. | This text is &lt;em&gt;&lt;strong&gt;really important&lt;/strong&gt;&lt;/em&gt;. | This text is ***really important***. |
| This text is __*really important*__. | This text is &lt;em&gt;&lt;strong&gt;really important&lt;/strong&gt;&lt;/em&gt;. | This text is ***really important***. |
| This text is **_really important_**. | This text is &lt;em&gt;&lt;strong&gt;really important&lt;/strong&gt;&lt;/em&gt;. | This text is ***really important***. |
| This is really***very***important text. | This is really&lt;em&gt;&lt;strong&gt;very&lt;/strong&gt;&lt;/em&gt;important text. | This is really***very***important text. |




   **Note:** The order of the `em` and `strong` tags might be reversed depending on the Markdown processor you're using.


#### Bold and Italic Best Practices

Markdown applications don't agree on how to handle underscores in the middle of a word. For compatibility, use asterisks to bold and italicize the middle of a word for emphasis.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| This is really***very***important text. | This is really___very___important text. |

---

## File: _basic-syntax/escaping-characters.md

---
title: Escaping Characters
syntax-id: escaping-characters
api: "no"
---

To display a literal character that would otherwise be used to format text in a Markdown document, add a backslash (`\`) in front of the character.

```
\* Without the backslash, this would be a bullet in an unordered list.
```

The rendered output looks like this:

\* Without the backslash, this would be a bullet in an unordered list.

### Characters You Can Escape

You can use a backslash to escape the following characters.



| Character | Name |
| --- | --- |
| \ | backslash |
| ` | backtick (see also [escaping backticks in code](#escaping-backticks)) |
| * | asterisk |
| _ | underscore |
| { } | curly braces |
| [ ] | brackets |
|  | angle brackets |
| ( ) | parentheses |
| # | pound sign |
| + | plus sign |
| - | minus sign (hyphen) |
| . | dot |
| ! | exclamation mark |
|   | pipe (see also [escaping pipe in tables](/extended-syntax/#escaping-pipe-characters-in-tables)) |

---

## File: _basic-syntax/headings.md

---
title: Headings
syntax-id: headings
syntax-summary: |
  # H1
  ## H2
  ### H3
examples:
  - markdown: "# Heading level 1"
    html: "<h1>Heading level 1</h1>"
  - markdown: "## Heading level 2"
    html: "<h2>Heading level 2</h2>"
  - markdown: "### Heading level 3"
    html: "<h3>Heading level 3</h3>"
  - markdown: "#### Heading level 4"
    html: "<h4>Heading level 4</h4>"
  - markdown: "##### Heading level 5"
    html: "<h5>Heading level 5</h5>"
  - markdown: "###### Heading level 6"
    html: "<h6>Heading level 6</h6>"
additional-examples:
  - name: "Alternative H1 Syntax"
    markdown: |
      Heading level 1
      ===============
    html: "<h1>Heading level 1</h1>"
  - name: "Alternative H2 Syntax"
    markdown: |
      Heading level 2
      ---------------
    html: "<h2>Heading level 2</h2>"
---

To create a heading, add number signs (`#`) in front of a word or phrase. The number of number signs you use should correspond to the heading level. For example, to create a heading level three (`<h3>`), use three number signs (e.g., `### My Header`).



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| # Heading level 1 | &lt;h1&gt;Heading level 1&lt;/h1&gt; | Heading level 1 |
| ## Heading level 2 | &lt;h2&gt;Heading level 2&lt;/h2&gt; | Heading level 2 |
| ### Heading level 3 | &lt;h3&gt;Heading level 3&lt;/h3&gt; | Heading level 3 |
| #### Heading level 4 | &lt;h4&gt;Heading level  4&lt;/h4&gt; | Heading level 4 |
| ##### Heading level 5 | &lt;h5&gt;Heading level 5&lt;/h5&gt; | Heading level 5 |
| ###### Heading level 6 | &lt;h6&gt;Heading level 6&lt;/h6&gt; | Heading level 6 |



### Alternate Syntax

Alternatively, on the line below the text, add any number of `==` characters for heading level 1 or `--` characters for heading level 2.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| Heading level 1=============== | &lt;h1&gt;Heading level 1&lt;/h1&gt; | Heading level 1 |
| Heading level 2--------------- | &lt;h2&gt;Heading level 2&lt;/h2&gt; | Heading level 2 |



### Heading Best Practices

Markdown applications don't agree on how to handle a missing space between the number signs (`#`) and the heading name. For compatibility, always put a space between the number signs and the heading name.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| # Here's a Heading | #Here's a Heading |



You should also put blank lines before and after a heading for compatibility.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| Try to put a blank line before...

        # Heading

        ...and after a heading. | Without blank lines, this might not look right.
        # Heading
        Don't do this! |

---

## File: _basic-syntax/horizontal-rules.md

---
title: Horizontal Rules
syntax-id: horizontal-rules
syntax-summary: "---"
examples:
  - markdown: "***"
    html: "<hr>"
  - markdown: "---"
    html: "<hr>"
  - markdown: "_________________"
    html: "<hr>"
---

To create a horizontal rule, use three or more asterisks (`***`), dashes (`---`), or underscores (`___`) on a line by themselves.

```
***

---

_________________
```

The rendered output of all three looks identical:

---

### Horizontal Rule Best Practices

For compatibility, put blank lines before and after horizontal rules.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| Try to put a blank line before...

        ---

        ...and after a horizontal rule. | Without blank lines, this would be a heading.
        ---
        Don't do this! |

---

## File: _basic-syntax/html.md

---
title: HTML
syntax-id: html
api: "no"
---

Many Markdown applications allow you to use HTML tags in Markdown-formatted text. This is helpful if you prefer certain HTML tags to Markdown syntax. For example, some people find it easier to use HTML tags for images. Using HTML is also helpful when you need to change the attributes of an element, like specifying the [color of text](/hacks/#color) or changing the width of an image.

To use HTML, place the tags in the text of your Markdown-formatted file.

```
This **word** is bold. This *word* is italic.
```

The rendered output looks like this:

This **word** is bold. This *word* is italic.

### HTML Best Practices

For security reasons, not all Markdown applications support HTML in Markdown documents. When in doubt, check your Markdown application's documentation. Some applications support only a subset of HTML tags.

Use blank lines to separate block-level HTML elements like ``, ``, ``, and `` from the surrounding content. Try not to indent the tags with tabs or spaces — that can interfere with the formatting.

You can't use Markdown syntax inside block-level HTML tags. For example, `italic and **bold**` won't work.

---

## File: _basic-syntax/images.md

---
title: Images
syntax-id: images
syntax-summary: ""
examples:
  - markdown: |
      
    html: 
additional-examples:
  - name: "Linking Images"
    markdown: |
      [](https://www.flickr.com/photos/beaurogers/31833779864/in/photolist-Qv3rFw-34mt9F-a9Cmfy-5Ha3Zi-9msKdv-o3hgjr-hWpUte-4WMsJ1-KUQ8N-deshUb-vssBD-6CQci6-8AFCiD-zsJWT-nNfsgB-dPDwZJ-bn9JGn-5HtSXY-6CUhAL-a4UTXB-ugPum-KUPSo-fBLNm-6CUmpy-4WMsc9-8a7D3T-83KJev-6CQ2bK-nNusHJ-a78rQH-nw3NvT-7aq2qf-8wwBso-3nNceh-ugSKP-4mh4kh-bbeeqH-a7biME-q3PtTf-brFpgb-cg38zw-bXMZc-nJPELD-f58Lmo-bXMYG-bz8AAi-bxNtNT-bXMYi-bXMY6-bXMYv)
    html: <a href=\"https://www.flickr.com/photos/beaurogers/31833779864/in/photolist-Qv3rFw-34mt9F-a9Cmfy-5Ha3Zi-9msKdv-o3hgjr-hWpUte-4WMsJ1-KUQ8N-deshUb-vssBD-6CQci6-8AFCiD-zsJWT-nNfsgB-dPDwZJ-bn9JGn-5HtSXY-6CUhAL-a4UTXB-ugPum-KUPSo-fBLNm-6CUmpy-4WMsc9-8a7D3T-83KJev-6CQ2bK-nNusHJ-a78rQH-nw3NvT-7aq2qf-8wwBso-3nNceh-ugSKP-4mh4kh-bbeeqH-a7biME-q3PtTf-brFpgb-cg38zw-bXMZc-nJPELD-f58Lmo-bXMYG-bz8AAi-bxNtNT-bXMYi-bXMY6-bXMYv\"></a>
---

To add an image, add an exclamation mark (`!`), followed by alt text in brackets, and the path or URL to the image asset in parentheses. You can optionally add a title in quotation marks after the path or URL.

```

```

The rendered output looks like this:

{% include image.html file="/assets/images/san-juan-mountains.jpg" alt="The San Juan Mountains are beautiful" title="San Juan Mountains" lazy="yes" %}


   **Note:** To resize an image, see the section on [image size](/hacks/#image-size). To add a caption, see the section on [image captions](/hacks/#image-captions).


### Linking Images

To add a link to an image, enclose the Markdown for the image in brackets, and then add the link in parentheses.

```
[](https://www.flickr.com/photos/beaurogers/31833779864/in/photolist-Qv3rFw-34mt9F-a9Cmfy-5Ha3Zi-9msKdv-o3hgjr-hWpUte-4WMsJ1-KUQ8N-deshUb-vssBD-6CQci6-8AFCiD-zsJWT-nNfsgB-dPDwZJ-bn9JGn-5HtSXY-6CUhAL-a4UTXB-ugPum-KUPSo-fBLNm-6CUmpy-4WMsc9-8a7D3T-83KJev-6CQ2bK-nNusHJ-a78rQH-nw3NvT-7aq2qf-8wwBso-3nNceh-ugSKP-4mh4kh-bbeeqH-a7biME-q3PtTf-brFpgb-cg38zw-bXMZc-nJPELD-f58Lmo-bXMYG-bz8AAi-bxNtNT-bXMYi-bXMY6-bXMYv)
```

The rendered output looks like this:


  <a href="https://www.flickr.com/photos/beaurogers/31833779864/in/photolist-Qv3rFw-34mt9F-a9Cmfy-5Ha3Zi-9msKdv-o3hgjr-hWpUte-4WMsJ1-KUQ8N-deshUb-vssBD-6CQci6-8AFCiD-zsJWT-nNfsgB-dPDwZJ-bn9JGn-5HtSXY-6CUhAL-a4UTXB-ugPum-KUPSo-fBLNm-6CUmpy-4WMsc9-8a7D3T-83KJev-6CQ2bK-nNusHJ-a78rQH-nw3NvT-7aq2qf-8wwBso-3nNceh-ugSKP-4mh4kh-bbeeqH-a7biME-q3PtTf-brFpgb-cg38zw-bXMZc-nJPELD-f58Lmo-bXMYG-bz8AAi-bxNtNT-bXMYi-bXMY6-bXMYv" class="no-underline">
  {% include image.html file="/assets/images/shiprock.jpg" alt="An old rock in the desert" title="Shiprock, New Mexico by Beau Rogers" lazy="yes" %}
  </a>

---

## File: _basic-syntax/italic.md

---
title: Italic
syntax-id: italic
syntax-summary: "*italicized text*"
examples:
  - markdown: "Italicized text is the *cat's meow*."
    html: "Italicized text is the *cat's meow*."
  - markdown: "Italicized text is the _cat's meow_."
    html: "Italicized text is the *cat's meow*."
  - markdown: "A*cat*meow"
    html: "A*cat*meow"
---

To italicize text, add one asterisk or underscore before and after a word or phrase. To italicize the middle of a word for emphasis, add one asterisk without spaces around the letters.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| Italicized text is the *cat's meow*. | Italicized text is the &lt;em&gt;cat's meow&lt;/em&gt;. | Italicized text is the *cat’s meow*. |
| Italicized text is the _cat's meow_. | Italicized text is the &lt;em&gt;cat's meow&lt;/em&gt;. | Italicized text is the *cat’s meow*. |
| A*cat*meow | A&lt;em&gt;cat&lt;/em&gt;meow | A*cat*meow |



#### Italic Best Practices

Markdown applications don't agree on how to handle underscores in the middle of a word. For compatibility, use asterisks to italicize the middle of a word for emphasis.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| A*cat*meow | A_cat_meow |

---

## File: _basic-syntax/line-breaks.md

---
title: Line Breaks
syntax-id: line-breaks
examples:
  - markdown: |
      This is the first line.  
      And this is the second line.
    html: "This is the first line.  And this is the second line."
---

To create a line break or new line (``), end a line with two or more spaces, and then type return.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| This is the first line. &nbsp;
          And this is the second line. | &lt;p&gt;This is the first line.&lt;br&gt;

        And this is the second line.&lt;/p&gt; | This is the first line.   
        And this is the second line. |



### Line Break Best Practices

You can use two or more spaces (commonly referred to as "trailing whitespace") for line breaks in nearly every Markdown application, but it's controversial. It's hard to see trailing whitespace in an editor, and many people accidentally or intentionally put two spaces after every sentence. For this reason, you may want to use something other than trailing whitespace for line breaks. If your Markdown application [supports HTML](/basic-syntax/#html), you can use the `` HTML tag.

For compatibility, use trailing white space or the `` HTML tag at the end of the line.

There are two other options I don't recommend using. CommonMark and a few other lightweight markup languages let you type a backslash (`\`) at the end of the line, but not all Markdown applications support this, so it isn't a great option from a compatibility perspective. And at least a couple lightweight markup languages don't require anything at the end of the line — just type return and they'll create a line break.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| First line with two spaces after. &nbsp;
          And the next line.

          First line with the HTML tag after.&lt;br&gt;
          And the next line. | First line with a backslash after.\
        And the next line.

        First line with nothing after.
        And the next line. |

---

## File: _basic-syntax/links.md

---
title: Links
syntax-id: links
syntax-summary: "[link name](https://www.example.com)"
examples:
  - markdown: "My favorite search engine is [Duck Duck Go](https://duckduckgo.com \"The best search engine for privacy\")."
    html: My favorite search engine is <a href=\"https://duckduckgo.com\" title=\"The best search engine for privacy\">Duck Duck Go</a>.
additional-examples:
  - name: "URLs and Email Addresses"
    markdown: "<https://www.markdownguide.org><fake@example.com>"
    html: <a href=\"https://www.markdownguide.org\">https://www.markdownguide.org</a><a href=\"&#x6d;&#97;&#105;&#x6c;&#116;&#x6f;&#58;&#x66;&#x61;&#x6b;&#101;&#64;&#x65;&#120;&#x61;&#x6d;&#x70;&#108;&#101;&#46;&#99;&#x6f;&#109;\">&#x66;&#x61;&#x6b;&#101;&#64;&#x65;&#120;&#x61;&#x6d;&#x70;&#108;&#101;&#46;&#99;&#x6f;&#109;</a>
  - name: "Formatting Links"
    markdown: "I love supporting **[EFF](https://eff.org)**. This is the *[Markdown Guide](https://www.markdownguide.org)*."
    html: I love supporting **<a href=\"https://eff.org\">EFF</a>**. This is the *<a href=\"https://www.markdownguide.org\">Markdown Guide</a>*.
---

To create a link, enclose the link text in brackets (e.g., `[Duck Duck Go]`) and then follow it immediately with the URL in parentheses (e.g., `(https://duckduckgo.com)`).

```
My favorite search engine is [Duck Duck Go](https://duckduckgo.com).
```

The rendered output looks like this:

My favorite search engine is [Duck Duck Go](https://duckduckgo.com).


   **Note:** To link to an element on the same page, see [linking to heading IDs](/extended-syntax/#linking-to-heading-ids). To create a link that opens in a new tab or window, see the section on [link targets](/hacks/#link-targets).


### Adding Titles

You can optionally add a title for a link. This will appear as a tooltip when the user hovers over the link. To add a title, enclose it in quotation marks after the URL.

```
My favorite search engine is [Duck Duck Go](https://duckduckgo.com "The best search engine for privacy").
```

The rendered output looks like this:

My favorite search engine is [Duck Duck Go](https://duckduckgo.com "The best search engine for privacy").

### URLs and Email Addresses

To quickly turn a URL or email address into a link, enclose it in angle brackets.

```
<https://www.markdownguide.org>
<fake@example.com>
```

The rendered output looks like this:

<https://www.markdownguide.org>
<fake@example.com>

### Formatting Links

To [emphasize](#emphasis) links, add asterisks before and after the brackets and parentheses. To denote links as [code](#code), add backticks in the brackets.

```
I love supporting the **[EFF](https://eff.org)**.
This is the *[Markdown Guide](https://www.markdownguide.org)*.
See the section on [`code`](#code).
```

The rendered output looks like this:

I love supporting the **[EFF](https://eff.org)**.
This is the *[Markdown Guide](https://www.markdownguide.org)*.
See the section on [`code`](#code).

### Reference-style Links

Reference-style links are a special kind of link that make URLs easier to display and read in Markdown. Reference-style links are constructed in two parts: the part you keep inline with your text and the part you store somewhere else in the file to keep the text easy to read.

#### Formatting the First Part of the Link

The first part of a reference-style link is formatted with two sets of brackets. The first set of brackets surrounds the text that should appear linked. The second set of brackets displays a label used to point to the link you're storing elsewhere in your document.

Although not required, you can include a space between the first and second set of brackets. The label in the second set of brackets is not case sensitive and can include letters, numbers, spaces, or punctuation.

This means the following example formats are roughly equivalent for the first part of the link:

- `[hobbit-hole][1]`
- `[hobbit-hole] [1]`

#### Formatting the Second Part of the Link

The second part of a reference-style link is formatted with the following attributes:

1. The label, in brackets, followed immediately by a colon and at least one space (e.g., `[label]: `).
2. The URL for the link, which you can optionally enclose in angle brackets.
3. The optional title for the link, which you can enclose in double quotes, single quotes, or parentheses.

This means the following example formats are all roughly equivalent for the second part of the link:

- `[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle`
- `[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle "Hobbit lifestyles"`
- `[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle 'Hobbit lifestyles'`
- `[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle (Hobbit lifestyles)`
- `[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> "Hobbit lifestyles"`
- `[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> 'Hobbit lifestyles'`
- `[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> (Hobbit lifestyles)`

You can place this second part of the link anywhere in your Markdown document. Some people place them immediately after the paragraph in which they appear while other people place them at the end of the document (like endnotes or footnotes).

#### An Example Putting the Parts Together

Say you add a URL as a [standard URL link](#links) to a paragraph and it looks like this in Markdown:

```
In a hole in the ground there lived a hobbit. Not a nasty, dirty, wet hole, filled with the ends
of worms and an oozy smell, nor yet a dry, bare, sandy hole with nothing in it to sit down on or to
eat: it was a [hobbit-hole](https://en.wikipedia.org/wiki/Hobbit#Lifestyle "Hobbit lifestyles"), and that means comfort.
```

Though it may point to interesting additional information, the URL as displayed really doesn't add much to the existing raw text other than making it harder to read. To fix that, you could format the URL like this instead:

```
In a hole in the ground there lived a hobbit. Not a nasty, dirty, wet hole, filled with the ends
of worms and an oozy smell, nor yet a dry, bare, sandy hole with nothing in it to sit down on or to
eat: it was a [hobbit-hole][1], and that means comfort.

[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> "Hobbit lifestyles"
```

In both instances above, the rendered output would be identical:

> In a hole in the ground there lived a hobbit. Not a nasty, dirty, wet hole, filled with the ends of worms and an oozy smell, nor yet a dry, bare, sandy hole with nothing in it to sit down on or to  eat: it was a [hobbit-hole](https://en.wikipedia.org/wiki/Hobbit#Lifestyle), and that means comfort.

and the HTML for the link would be:

```
[hobbit-hole](https://en.wikipedia.org/wiki/Hobbit#Lifestyle)
```

### Link Best Practices

Markdown applications don't agree on how to handle spaces in the middle of a URL. For compatibility, try to URL encode any spaces with `%20`. Alternatively, if your Markdown application [supports HTML](#html), you could use the `a` HTML tag. 



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| [link](https://www.example.com/my%20great%20page)

        &lt;a href="https://www.example.com/my great page"&gt;link&lt;/a&gt; | [link](https://www.example.com/my great page) |



Parentheses in the middle of a URL can also be problematic. For compatibility, try to URL encode the opening parenthesis (`(`) with `%28` and the closing parenthesis (`)`) with `%29`. Alternatively, if your Markdown application [supports HTML](#html), you could use the `a` HTML tag. 



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| [a novel](https://en.wikipedia.org/wiki/The_Milagro_Beanfield_War_%28novel%29)

        &lt;a href="https://en.wikipedia.org/wiki/The_Milagro_Beanfield_War_(novel)"&gt;a novel&lt;/a&gt; | [a novel](https://en.wikipedia.org/wiki/The_Milagro_Beanfield_War_(novel)) |

---

## File: _basic-syntax/lists.md

---
title: Lists
syntax-id: lists
api: "no"
---

You can organize items into ordered and unordered lists.

{% include syntax.html type="basic-sub" syntax-id="ordered-lists" %}

{% include syntax.html type="basic-sub" syntax-id="unordered-lists" %}

### Adding Elements in Lists

To add another element in a list while preserving the continuity of the list, indent the element four spaces or one tab, as shown in the following examples.


   **Tip:** If things don't appear the way you expect, double check that you've indented the elements in the list four spaces or one tab.


#### Paragraphs

```
* This is the first list item.
* Here's the second list item.

    I need to add another paragraph below the second list item.

* And here's the third list item.
```

The rendered output looks like this:

* This is the first list item.
* Here's the second list item.

    I need to add another paragraph below the second list item.

* And here's the third list item.

#### Blockquotes

```
* This is the first list item.
* Here's the second list item.

    > A blockquote would look great below the second list item.

* And here's the third list item.
```

The rendered output looks like this:

* This is the first list item.
* Here's the second list item.

    > A blockquote would look great below the second list item.

* And here's the third list item.

#### Code Blocks {#code-blocks-1}

[Code blocks](#code-blocks) are normally indented four spaces or one tab.  When they're in a list, indent them eight spaces or two tabs.

```text
1. Open the file.
2. Find the following code block on line 21:

        <html>
          <head>
            <title>Test</title>
          </head>

3. Update the title to match the name of your website.
```

The rendered output looks like this:

1. Open the file.
2. Find the following code block on line 21:

    ```text
    <html>
      <head>
        <title>Test</title>
      </head>
    ```

3. Update the title to match the name of your website.

#### Images

```
1. Open the file containing the Linux mascot.
2. Marvel at its beauty.

    

3. Close the file.
```

The rendered output looks like this:

1. Open the file containing the Linux mascot.
2. Marvel at its beauty.

    
      
      
    

3. Close the file.

#### Lists

You can nest an unordered list in an ordered list, or vice versa.

```
1. First item
2. Second item
3. Third item
    - Indented item
    - Indented item
4. Fourth item
```

The rendered output looks like this:

1. First item
2. Second item
3. Third item
    - Indented item
    - Indented item
4. Fourth item

---

## File: _basic-syntax/ordered-lists.md

---
title: Ordered Lists
syntax-id: ordered-lists
syntax-summary: |
  1. First item
  2. Second item
  3. Third item
examples:
  - markdown: |
      1. First item
      2. Second item
      3. Third item
      4. Fourth item
    html: <ol><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ol>
  - markdown: |
      1. First item
      1. Second item
      1. Third item
      1. Fourth item
    html: <ol><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ol>
  - markdown: |
      1. First item
      8. Second item
      3. Third item
      5. Fourth item
    html: <ol><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ol>
  - markdown: |
      1. First item
      2. Second item
      3. Third item
        1. Indented item
        2. Indented item
      4. Fourth item
    html: <ol><li>First item</li><li>Second item</li><li>Third item<ol><li>Indented item</li><li>Indented item</li></ol></li><li>Fourth item</li></ol>
---

To create an ordered list, add line items with numbers followed by periods. The numbers don't have to be in numerical order, but the list should start with the number one.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| 1. First item
        2. Second item
        3. Third item
        4. Fourth item | &lt;ol&gt;
          &nbsp;&nbsp;&lt;li&gt;First item&lt;/li&gt;
          &nbsp;&nbsp;&lt;li&gt;Second item&lt;/li&gt;
          &nbsp;&nbsp;&lt;li&gt;Third item&lt;/li&gt;
          &nbsp;&nbsp;&lt;li&gt;Fourth item&lt;/li&gt;
        &lt;/ol&gt; | First item
        Second item
        Third item
        Fourth item |
| 1. First item
          1. Second item
          1. Third item
          1. Fourth item | &lt;ol&gt;
            &nbsp;&nbsp;&lt;li&gt;First item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Second item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Third item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Fourth item&lt;/li&gt;
          &lt;/ol&gt; | First item
          Second item
          Third item
          Fourth item |
| 1. First item
          8. Second item
          3. Third item
          5. Fourth item | &lt;ol&gt;
            &nbsp;&nbsp;&lt;li&gt;First item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Second item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Third item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Fourth item&lt;/li&gt;
          &lt;/ol&gt; | First item
          Second item
          Third item
          Fourth item |
| 1. First item
          2. Second item
          3. Third item
          &nbsp;&nbsp;&nbsp;&nbsp;1. Indented item
          &nbsp;&nbsp;&nbsp;&nbsp;2. Indented item
          4. Fourth item | &lt;ol&gt;
            &nbsp;&nbsp;&lt;li&gt;First item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Second item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Third item
              &nbsp;&nbsp;&nbsp;&nbsp;&lt;ol&gt;
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;Indented item&lt;/li&gt;
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;Indented item&lt;/li&gt;
              &nbsp;&nbsp;&nbsp;&nbsp;&lt;/ol&gt;
            &nbsp;&nbsp;&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Fourth item&lt;/li&gt;
          &lt;/ol&gt; | First item
          Second item
          Third item
            
              Indented item
              Indented item
            
          
          Fourth item |



#### Ordered List Best Practices

CommonMark and a few other lightweight markup languages let you use a parenthesis (`)`) as a delimiter (e.g., `1) First item`), but not all Markdown applications support this, so it isn’t a great option from a compatibility perspective. For compatibility, use periods only.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| 1. First item
          2. Second item | 1) First item
          2) Second item |

---

## File: _basic-syntax/overview.md

---
title: Overview
syntax-id: overview
api: "no"
---

Nearly all Markdown applications support the basic syntax outlined in the original Markdown design document. There are minor variations and discrepancies between Markdown processors — those are noted inline wherever possible.

---

## File: _basic-syntax/paragraphs.md

---
title: Paragraphs
syntax-id: paragraphs
examples:
  - markdown: |
      I really like using Markdown.

      I think I'll use it to format all of my documents from now on.
    html: "I really like using Markdown.I think I'll use it to format all of my documents from now on."
---

To create paragraphs, use a blank line to separate one or more lines of text.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| I really like using Markdown.

          I think I'll use it to format all of my documents from now on. | &lt;p&gt;I really like using Markdown.&lt;/p&gt;

        &lt;p&gt;I think I'll use it to format all of my documents from now on.&lt;/p&gt; | I really like using Markdown.

        I think I'll use it to format all of my documents from now on. |



### Paragraph Best Practices

Unless the [paragraph is in a list](/basic-syntax/#paragraphs), don't indent paragraphs with spaces or tabs.


   **Note:** If you need to indent paragraphs in the output, see the section on how to [indent (tab)](/hacks/#indent-tab).




| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| Don't put tabs or spaces in front of your paragraphs.

          Keep lines left-aligned like this. | &nbsp;&nbsp;&nbsp;&nbsp;This can result in unexpected
        formatting problems.

        &nbsp;&nbsp;Don't add tabs or spaces in front of paragraphs. |

---

## File: _basic-syntax/unordered-lists.md

---
title: Unordered Lists
syntax-id: unordered-lists
syntax-summary: |
  - First item
  - Second item
  - Third item
examples:
  - markdown: |
      - First item
      - Second item
      - Third item
      - Fourth item
    html: <li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li>
  - markdown: |
      * First item
      * Second item
      * Third item
      * Fourth item
    html: <li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li>
  - markdown: |
      + First item
      * Second item
      - Third item
      + Fourth item
    html: <li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li>
  - markdown: |
      - First item
      - Second item
      - Third item
          - Indented item
          - Indented item
      - Fourth item
    html: <li>First item</li><li>Second item</li><li>Third item<li>Indented item</li><li>Indented item</li></li><li>Fourth item</li>
---

To create an unordered list, add dashes (`-`), asterisks (`*`), or plus signs (`+`) in front of line items. Indent one or more items to create a nested list.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| - First item
          - Second item
          - Third item
          - Fourth item | &lt;ul&gt;
            &nbsp;&nbsp;&lt;li&gt;First item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Second item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Third item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Fourth item&lt;/li&gt;
          &lt;/ul&gt; | First item
          Second item
          Third item
          Fourth item |
| * First item
          * Second item
          * Third item
          * Fourth item | &lt;ul&gt;
            &nbsp;&nbsp;&lt;li&gt;First item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Second item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Third item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Fourth item&lt;/li&gt;
          &lt;/ul&gt; | First item
          Second item
          Third item
          Fourth item |
| + First item
          + Second item
          + Third item
          + Fourth item | &lt;ul&gt;
            &nbsp;&nbsp;&lt;li&gt;First item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Second item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Third item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Fourth item&lt;/li&gt;
          &lt;/ul&gt; | First item
          Second item
          Third item
          Fourth item |
| - First item
          - Second item
          - Third item
          &nbsp;&nbsp;&nbsp;&nbsp;- Indented item
          &nbsp;&nbsp;&nbsp;&nbsp;- Indented item
          - Fourth item | &lt;ul&gt;
            &nbsp;&nbsp;&lt;li&gt;First item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Second item&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Third item
              &nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt;
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;Indented item&lt;/li&gt;
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;Indented item&lt;/li&gt;
              &nbsp;&nbsp;&nbsp;&nbsp;&lt;/ul&gt;
            &nbsp;&nbsp;&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;Fourth item&lt;/li&gt;
          &lt;/ul&gt; | First item
          Second item
          Third item
            
              Indented item
              Indented item
            
          
          Fourth item |



#### Starting Unordered List Items With Numbers

If you need to start an unordered list item with a number followed by a period, you can use a backslash (`\`) to [escape](#escaping-characters) the period.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| - 1968\. A great year!
          - I think 1969 was second best. | &lt;ul&gt;
            &nbsp;&nbsp;&lt;li&gt;1968. A great year!&lt;/li&gt;
            &nbsp;&nbsp;&lt;li&gt;I think 1969 was second best.&lt;/li&gt;
          &lt;/ul&gt; | 1968. A great year!
          I think 1969 was second best. |



#### Unordered List Best Practices

Markdown applications don’t agree on how to handle different delimiters in the same list. For compatibility, don't mix and match delimiters in the same list — pick one and stick with it.



| ✅&nbsp; Do this | ❌&nbsp; Don't do this |
| --- | --- |
| - First item
          - Second item
          - Third item
          - Fourth item | + First item
          * Second item
          - Third item
          + Fourth item |

---

## File: _data/status.yml

# Possible availability statuses for Markdown features for tools:

y:
  name: "Yes"
  class: table-success

p:
  name: "Partial"
  class: table-warning

n:
  name: "No"
  class: table-danger

u:
  name: "Unknown"
  class: table-default

---

## File: _data/tools.yml

# Each tool has YAML front matter describing the tool's properties.
# The fields are:

headings:
  name: Headings
  link: /basic-syntax/#headings

paragraphs:
  name: Paragraphs
  link: /basic-syntax/#paragraphs-1

line-breaks:
  name: Line Breaks
  link: /basic-syntax/#line-breaks

bold:
  name: Bold
  link: /basic-syntax/#bold

italic:
  name: Italic
  link: /basic-syntax/#italic

blockquotes:
  name: Blockquotes
  link: /basic-syntax/#blockquotes-1

ordered-lists:
  name: Ordered Lists
  link: /basic-syntax/#ordered-lists

unordered-lists:
  name: Unordered Lists
  link: /basic-syntax/#unordered-lists

code:
  name: Code
  link: /basic-syntax/#code

horizontal-rules:
  name: Horizontal Rules
  link: /basic-syntax/#horizontal-rules

links:
  name: Links
  link: /basic-syntax/#links

images:
  name: Images
  link: /basic-syntax/#images-1

tables:
  name: Tables
  link: /extended-syntax/#tables

fenced-code-blocks:
  name: Fenced Code Blocks
  link: /extended-syntax/#fenced-code-blocks

syntax-highlighting:
  name: Syntax Highlighting
  link: /extended-syntax/#syntax-highlighting

footnotes:
  name: Footnotes
  link: /extended-syntax/#footnotes

heading-ids:
  name: Heading IDs
  link: /extended-syntax/#heading-ids

definition-lists:
  name: Definition Lists
  link: /extended-syntax/#definition-lists

strikethrough:
  name: Strikethrough
  link: /extended-syntax/#strikethrough

task-lists:
  name: Task Lists
  link: /extended-syntax/#task-lists

emoji-cp:
  name: Emoji (copy and paste)
  link: /extended-syntax/#copying-and-pasting-emoji

emoji-sc:
  name: Emoji (shortcodes)
  link: /extended-syntax/#using-emoji-shortcodes

highlight:
  name: Highlight
  link: /extended-syntax/#highlight

subscript:
  name: Subscript
  link: /extended-syntax/#subscript

superscript:
  name: Superscript
  link: /extended-syntax/#superscript

auto-url-linking:
  name: Automatic URL Linking
  link: /extended-syntax/#automatic-url-linking

disabling-auto-url:
  name: Disabling Automatic URL Linking
  link: /extended-syntax/#disabling-automatic-url-linking

html:
  name: HTML
  link: /basic-syntax/#html

---

## File: _extended-syntax/automatic-url-linking.md

---
title: Automatic URL Linking
syntax-id: automatic-url-linking
---

Many Markdown processors automatically turn URLs into links. That means if you type http://www.example.com, your Markdown processor will automatically turn it into a link even though you haven’t [used brackets](/basic-syntax/#links).

```
http://www.example.com
```

The rendered output looks like this:

[http://www.example.com](http://www.example.com)

## Disabling Automatic URL Linking

If you don't want a URL to be automatically linked, you can remove the link by [denoting the URL as code](/basic-syntax/#code) with backticks.

```
`http://www.example.com`
```

The rendered output looks like this:

`http://www.example.com`

---

## File: _extended-syntax/availability.md

---
title: Availability
syntax-id: availability
---

Not all Markdown applications support extended syntax elements. You'll need to check whether or not the lightweight markup language your application is using supports the extended syntax elements you want to use. If it doesn't, it may still be possible to enable extensions in your Markdown processor.

### Lightweight Markup Languages

There are several lightweight markup languages that are *supersets* of Markdown. They include basic syntax and build upon it by adding additional elements like tables, code blocks, syntax highlighting, URL auto-linking, and footnotes. Many of the most popular Markdown applications use one of the following lightweight markup languages:

- [CommonMark](https://commonmark.org)
- [GitHub Flavored Markdown (GFM)](https://github.github.com/gfm/)
- [Markdown Extra](https://michelf.ca/projects/php-markdown/extra/)
- [MultiMarkdown](https://fletcherpenney.net/multimarkdown/)
- [R Markdown](https://rmarkdown.rstudio.com/)

### Markdown Processors

There are [dozens of Markdown processors](https://github.com/markdown/markdown.github.com/wiki/Implementations) available. Many of them allow you to add extensions that enable extended syntax elements. Check your processor's documentation for more information.

---

## File: _extended-syntax/definition-lists.md

---
title: Definition Lists
syntax-id: definition-lists
syntax-summary: |
  term
  : definition
---

Some Markdown processors allow you to create *definition lists* of terms and their corresponding definitions. To create a definition list, type the term on the first line. On the next line, type a colon followed by a space and the definition.  

```
First Term
: This is the definition of the first term.

Second Term
: This is one definition of the second term.
: This is another definition of the second term.
```

The HTML looks like this:

```html
<dl>
  <dt>First Term</dt>
  <dd>This is the definition of the first term.</dd>
  <dt>Second Term</dt>
  <dd>This is one definition of the second term. </dd>
  <dd>This is another definition of the second term.</dd>
</dl>
```

The rendered output looks like this:

First Term
: This is the definition of the first term.

Second Term
: This is one definition of the second term.
: This is another definition of the second term.

---

## File: _extended-syntax/emoji.md

---
title: Emoji
syntax-id: emoji
---

There are two ways to add emoji to Markdown files: copy and paste the emoji into your Markdown-formatted text, or type *emoji shortcodes*.

### Copying and Pasting Emoji

In most cases, you can simply copy an emoji from a source like [Emojipedia](https://emojipedia.org/) and paste it into your document. Many Markdown applications will automatically display the emoji in the Markdown-formatted text. The HTML and PDF files you export from your Markdown application should display the emoji.


   **Tip:** If you're using a static site generator, make sure you [encode HTML pages as UTF-8](https://www.w3.org/International/tutorials/tutorial-char-enc/).


### Using Emoji Shortcodes

Some Markdown applications allow you to insert emoji by typing emoji shortcodes. These begin and end with a colon and include the name of an emoji.

```text
Gone camping! :tent: Be back soon.

That is so funny! :joy:
```

The rendered output looks like this:

Gone camping! ⛺ Be back soon.

That is so funny! 😂


   **Note:** You can use this [list of emoji shortcodes](https://gist.github.com/rxaviers/7360908), but keep in mind that emoji shortcodes vary from application to application. Refer to your Markdown application's documentation for more information.

---

## File: _extended-syntax/fenced-code-blocks.md

---
title: Fenced Code Blocks
syntax-id: fenced-code-blocks
syntax-summary: |
  ```
  {
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
  }
  ```
---

The basic Markdown syntax allows you to create [code blocks](/basic-syntax/#code-blocks) by indenting lines by four spaces or one tab. If you find that inconvenient, try using fenced code blocks. Depending on your Markdown processor or editor, you'll use three backticks (<code>```</code>) or three tildes (`~~~`) on the lines before and after the code block. The best part? You don't have to indent any lines!

~~~~~~~~~
```
{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
}
```
~~~~~~~~~

The rendered output looks like this:

```text
{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
}
```

<div class="alert alert-success">
  <i class="fas fa-lightbulb"></i> <strong>Tip:</strong> Need to display backticks inside a code block? See <a href="/basic-syntax/#escaping-backticks">this section</a> to learn how to escape them.
</div>

### Syntax Highlighting

Many Markdown processors support syntax highlighting for fenced code blocks. This feature allows you to add color highlighting for whatever language your code was written in. To add syntax highlighting, specify a language next to the backticks before the fenced code block.

~~~~~~~~~
```json
{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
}
```
~~~~~~~~~

The rendered output looks like this:

```json
{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
}
```

---

## File: _extended-syntax/footnotes.md

---
title: Footnotes
syntax-id: footnotes
syntax-summary: |
  Here's a sentence with a footnote. [^1]

  [^1]: This is the footnote.
---

Footnotes allow you to add notes and references without cluttering the body of the document. When you create a footnote, a superscript number with a link appears where you added the footnote reference. Readers can click the link to jump to the content of the footnote at the bottom of the page.

To create a footnote reference, add a caret and an identifier inside brackets (`[^1]`). Identifiers can be numbers or words, but they can't contain spaces or tabs. Identifiers only correlate the footnote reference with the footnote itself — in the output, footnotes are numbered sequentially.

Add the footnote using another caret and number inside brackets with a colon and text (`[^1]: My footnote.`). You don't have to put footnotes at the end of the document. You can put them anywhere except inside other elements like lists, block quotes, and tables.

```
Here's a simple footnote,[^1] and here's a longer one.[^bignote]

[^1]: This is the first footnote.

[^bignote]: Here's one with multiple paragraphs and code.

    Indent paragraphs to include them in the footnote.

    `{ my code }`

    Add as many paragraphs as you like.
```

The rendered output looks like this:

Here's a simple footnote,[^1] and here's a longer one.[^bignote]

[^1]: This is the first footnote.

[^bignote]: Here's one with multiple paragraphs and code.

    Indent paragraphs to include them in the footnote.

    `{ my code }`

    Add as many paragraphs as you like.

---

## File: _extended-syntax/heading-ids.md

---
title: Heading IDs
syntax-id: heading-ids
syntax-summary: "### My Great Heading {#custom-id}"
---

Many Markdown processors support custom IDs for [headings](/basic-syntax/#headings) — some Markdown processors automatically add them. Adding custom IDs allows you to link directly to headings and modify them with CSS. To add a custom heading ID, enclose the custom ID in curly braces on the same line as the heading.

```text
### My Great Heading {#custom-id}
```

The HTML looks like this:

```html
<h3 id="custom-id">My Great Heading</h3>
```

### Linking to Heading IDs

You can link to headings with custom IDs in the file by creating a [standard link](/basic-syntax/#links) with a number sign (`#`) followed by the custom heading ID. These are commonly referred to as *anchor links*.



| Markdown | HTML | Rendered Output |
| --- | --- | --- |
| [Heading IDs](#heading-ids) | &lt;a href="#heading-ids"&gt;Heading IDs&lt;/a&gt; | [Heading IDs](#heading-ids) |



Other websites can link to the heading by adding the custom heading ID to the full URL of the webpage (e.g, `[Heading IDs](https://www.markdownguide.org/extended-syntax#heading-ids)`).

---

## File: _extended-syntax/highlight.md

---
title: Highlight
syntax-id: highlight
---

This isn't common, but some Markdown processors allow you to highlight text. The result looks <mark>like this</mark>. To highlight words, use two equal signs (`==`) before and after the words.

```text
I need to highlight these ==very important words==.
```

The rendered output looks like this:

I need to highlight these <mark>very important words</mark>.

Alternatively, if your Markdown application supports [HTML](/basic-syntax/#html), you can use the `mark` HTML tag.

```html
I need to highlight these <mark>very important words</mark>.
```

---

## File: _extended-syntax/overview.md

---
title: Overview
syntax-id: overview
---

The [basic syntax](/basic-syntax/) outlined in the original Markdown design document added many of the elements needed on a day-to-day basis, but it wasn't enough for some people. That's where extended syntax comes in.

Several individuals and organizations took it upon themselves to extend the basic syntax by adding additional elements like tables, code blocks, syntax highlighting, URL auto-linking, and footnotes. These elements can be enabled by using a lightweight markup language that builds upon the basic Markdown syntax, or by adding an extension to a compatible Markdown processor.

---

## File: _extended-syntax/strikethrough.md

---
title: Strikethrough
syntax-id: strikethrough
syntax-summary: "~~The world is flat.~~"
---

You can strikethrough words by putting a horizontal line through the center of them. The result looks ~~like this~~. This feature allows you to indicate that certain words are a mistake not meant for inclusion in the document. To strikethrough words, use two tilde symbols (`~~`) before and after the words.

```
~~The world is flat.~~ We now know that the world is round.
```

The rendered output looks like this:

~~The world is flat.~~ We now know that the world is round.

---

## File: _extended-syntax/subscript.md

---
title: Subscript
syntax-id: subscript
---

This isn't common, but some Markdown processors allow you to use *subscript* to position one or more characters slightly below the normal line of type. To create a subscript, use one tilde symbol (`~`) before and after the characters.

```text
H~2~O
```

The rendered output looks like this:

H<sub>2</sub>O


   **Tip:** Be sure to test this in your Markdown application before using it. Some Markdown applications use one tilde symbol before and after words not for subscript, but for [strikethrough](/extended-syntax/#strikethrough). 


Alternatively, if your Markdown application supports [HTML](/basic-syntax/#html), you can use the `sub` HTML tag.

```html
H<sub>2</sub>O
```

---

## File: _extended-syntax/superscript.md

---
title: Superscript
syntax-id: superscript
---

This isn't common, but some Markdown processors allow you to use *superscript* to position one or more characters slightly above the normal line of type. To create a superscript, use one caret symbol (`^`) before and after the characters.

```text
X^2^
```

The rendered output looks like this:

X<sup>2</sup>

Alternatively, if your Markdown application supports [HTML](/basic-syntax/#html), you can use the `sup` HTML tag.

```html
X<sup>2</sup>
```

---

## File: _extended-syntax/tables.md

---
title: Tables
syntax-id: tables
syntax-summary: |
  | Syntax | Description |
  | ----------- | ----------- |
  | Header | Title |
  | Paragraph | Text |
---

To add a table, use three or more hyphens (`---`) to create each column's header, and use pipes (`|`) to separate each column. For compatibility, you should also add a pipe on either end of the row.

```
| Syntax      | Description |
| ----------- | ----------- |
| Header      | Title       |
| Paragraph   | Text        |
```

The rendered output looks like this:



| Syntax | Description |
| --- | --- |
| Header | Title |
| Paragraph | Text |



Cell widths can vary, as shown below. The rendered output will look the same.

```
| Syntax | Description |
| --- | ----------- |
| Header | Title |
| Paragraph | Text |
```


   **Tip:** Creating tables with hyphens and pipes can be tedious. To speed up the process, try using the [Markdown Tables Generator](https://www.tablesgenerator.com/markdown_tables) or [AnyWayData Markdown Export](https://anywaydata.com). Build a table using the graphical interface, and then copy the generated Markdown-formatted text into your file.


### Alignment

You can align text in the columns to the left, right, or center by adding a colon (`:`) to the left, right, or on both side of the hyphens within the header row.

```
| Syntax      | Description | Test Text     |
| :---        |    :----:   |          ---: |
| Header      | Title       | Here's this   |
| Paragraph   | Text        | And more      |
```

The rendered output looks like this:



| Syntax | Description | Test Text |
| --- | --- | --- |
| Header | Title | Here’s this |
| Paragraph | Text | And more |



### Formatting Text in Tables

You can format the text within tables. For example, you can add [links](/basic-syntax/#links), [code](/basic-syntax/#code-1) (words or phrases in backticks (`` ` ``) only, not [code blocks](/basic-syntax/#code-blocks)), and [emphasis](/basic-syntax/#emphasis).

You can't use headings, blockquotes, lists, horizontal rules, images, or most HTML tags.


   **Tip:** You can use HTML to create [line breaks](/hacks/#line-breaks-within-table-cells) and add [lists](/hacks/#lists-within-table-cells) within table cells.


### Escaping Pipe Characters in Tables

You can display a pipe (`|`) character in a table by using its HTML character code (`&#124;`).

---

## File: _extended-syntax/task-lists.md

---
title: Task Lists
syntax-id: task-lists
syntax-summary: |
  - [x] Write the press release
  - [ ] Update the website
  - [ ] Contact the media
---

Task lists (also referred to as *checklists* and *todo* lists) allow you to create a list of items with checkboxes. In Markdown applications that support task lists, checkboxes will be displayed next to the content. To create a task list, add dashes (`-`) and brackets with a space (`[ ]`) in front of task list items. To select a checkbox, add an `x` in between the brackets (`[x]`).

```
- [x] Write the press release
- [ ] Update the website
- [ ] Contact the media
```

The rendered output looks like this:

---

## File: _getting-started/additional-resources.md

## Additional Resources

There are lots of resources you can use to learn Markdown. Here are some other introductory resources:

- [John Gruber's Markdown documentation](https://daringfireball.net/projects/markdown/). The original guide written by the creator of Markdown.
- [Markdown Tutorial](https://www.markdowntutorial.com/). An open source website that allows you to try Markdown in your web browser.
- [Awesome Markdown](https://github.com/mundimark/awesome-markdown). A list of Markdown tools and learning resources.
- [Typesetting Markdown](https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdown-part-1). A multi-part series that describes an ecosystem for typesetting Markdown documents using [pandoc](https://pandoc.org/) and [ConTeXt](https://www.contextgarden.net/).

---

## File: _getting-started/flavors-of-markdown.md

## Flavors of Markdown

One of the most confusing aspects of using Markdown is that practically every Markdown application implements a slightly different version of Markdown. These variants of Markdown are commonly referred to as *flavors*. It's your job to master whatever flavor of Markdown your application has implemented.

To wrap your head around the concept of Markdown flavors, it might help to think of them as language dialects. People in New York City speak English just like the people in London, but there are substantial differences between the dialects used in both cities. The same is true for people using different Markdown applications. Using [JotBird](https://www.jotbird.com) to write with Markdown is a vastly different experience than using [Ulysses](/tools/ulysses/).

Practically speaking, this means you never know exactly what a company means when they say they support "Markdown." Are they talking about only the [basic syntax elements](/basic-syntax/), or all of the basic and [extended syntax elements](/extended-syntax/) combined, or some arbitrary combination of syntax elements? You won't know until you read the documentation or start using the application.

If you're just starting out, the best advice I can give you is to pick a Markdown application with good Markdown support. That'll go a long way towards maintaining the portability of your Markdown files. You might want to store and use your Markdown files in other applications, and to do that you need to start with an application that provides good support. You can use the [tool directory](/tools/) to find an application that fits the bill.

---

## File: _getting-started/how-does-it-work.md

## How Does it Work?

JotBird makes writing in Markdown easy because it hides the stuff happening behind the scenes, but it's worth exploring how the process works in general.

When you write in Markdown, the text is stored in a plaintext file that has an `.md` or `.markdown` extension. But then what? How is your Markdown-formatted file converted into HTML or a print-ready document?

The short answer is that you need a *Markdown application* capable of processing the Markdown file. There are lots of applications available — everything from simple scripts to desktop applications that look like Microsoft Word. Despite their visual differences, all of the applications do the same thing. Like JotBird, they all convert Markdown-formatted text to HTML so it can be displayed in web browsers.

Markdown applications use something called a *Markdown processor* (also commonly referred to as a "parser" or an "implementation") to take the Markdown-formatted text and output it to HTML format. At that point, your document can be viewed in a web browser or combined with a style sheet and printed. You can see a visual representation of this process below.


   **Note:** The Markdown application and processor are two separate components. For the sake of brevity, I've combined them into one element ("Markdown app") in the figure below.


{% include image.html file="/assets/images/markdown-flowchart.png" alt="The Markdown Process" lazy="yes" %}

To summarize, this is a four-part process:

1. Create a Markdown file using a text editor or a dedicated Markdown application. The file should have an `.md` or `.markdown` extension.
2. Open the Markdown file in a Markdown application.
3. Use the Markdown application to convert the Markdown file to an HTML document.
4. View the HTML file in a web browser or use the Markdown application to convert it to another file format, like PDF.

From your perspective, the process will vary somewhat depending on the application you use. For example, JotBird essentially combines steps 1-3 into a single, seamless interface — all you have to do is type in the left pane and the rendered output magically appears in the right pane. But if you use other tools, like a text editor with a static website generator, you'll find that the process is much more visible.

---

## File: _getting-started/kicking-the-tires.md

## Kicking the Tires

The best way to get started with Markdown is to use it. That's easier than ever before thanks to a variety of free tools.

You don't even need to download anything. There are several online Markdown editors that you can use to try writing in Markdown. [JotBird](https://www.jotbird.com) (which I built) is one of the best. Just open the site and start typing in the left pane. A preview of the rendered document appears in the right pane.

{% include image.html file="/assets/images/jotbird.png" alt="JotBird Markdown editor" lazy="yes" %}

JotBird does one more thing worth knowing about. When you've written something you want to share — notes, a doc, a README — you can publish it to a real web page with its own link in one click. So it's not just a place to practice Markdown — it's a place to do something with it.

You'll probably want to keep the JotBird website open as you read through this guide. That way you can try the syntax as you learn about it. After you've become familiar with Markdown, you may want to use a Markdown application that can be installed on your desktop computer or mobile device.

---

## File: _getting-started/what-is-markdown.md

## What is Markdown?

Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. Created by [John Gruber](https://daringfireball.net/projects/markdown/) in 2004, Markdown is now one of the world's most popular markup languages.

Using Markdown is different than using a [WYSIWYG](https://en.wikipedia.org/wiki/WYSIWYG) editor. In an application like Microsoft Word, you click buttons to format words and phrases, and the changes are visible immediately. Markdown isn't like that. When you create a Markdown-formatted file, you add Markdown syntax to the text to indicate which words and phrases should look different.

For example, to denote a heading, you add a number sign before it (e.g., `# Heading One`). Or to make a phrase bold, you add two asterisks before and after it (e.g., `**this text is bold**`). It may take a while to get used to seeing Markdown syntax in your text, especially if you're accustomed to WYSIWYG applications. The screenshot below shows a Markdown file displayed in the [Visual Studio Code text editor](/tools/vscode/).

{% include image.html file="/assets/images/vscode.png" alt="Markdown file in the Visual Studio Code text editor" %}

You can add Markdown formatting elements to a plaintext file using a text editor application. Or you can use one of the many Markdown applications for macOS, Windows, Linux, iOS, and Android operating systems. There are also several web-based applications specifically designed for writing in Markdown.

Depending on the application you use, you may not be able to preview the formatted document in real time. But that's okay. [According to Gruber](https://daringfireball.net/projects/markdown/), Markdown syntax is designed to be readable and unobtrusive, so the text in Markdown files can be read even if it isn't rendered.

> The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.

---

## File: _getting-started/whats-markdown-good-for.md

## What's Markdown Good For?

Markdown is a fast and easy way to take notes, create content for a website, and produce print-ready documents.

It doesn't take long to learn the Markdown syntax, and once you know how to use it, you can write using Markdown just about everywhere. Most people use Markdown to create content for the web, but Markdown is good for formatting everything from email messages to grocery lists.

Here are some examples of what you can do with Markdown.

### Websites

Markdown was designed for the web, so it should come as no surprise that there are plenty of applications specifically designed for creating website content.

If you're looking for the simplest possible way to create a website with Markdown files, check out [blot.im](https://blot.im). After you sign up for Blot, it creates a Dropbox folder on your computer. Just drag and drop your Markdown files into the folder and — poof! — they're on your website. It couldn't be easier.

If you're familiar with HTML, CSS, and version control, check out [Jekyll](/tools/jekyll/), a popular static site generator that takes Markdown files and builds an HTML website. One advantage to this approach is that [GitHub Pages](/tools/github-pages/) provides free hosting for Jekyll-generated websites. If Jekyll isn't your cup of tea, just pick one of the [many other static site generators available](https://jamstack.org/generators/).


   **Note:** Shameless plug! If you want to learn how to build static websites from scratch, check out [*The Static Site Guide*](https://www.staticguide.org/), another book I wrote.


If you'd like to use a content management system (CMS) to power your website, take a look at [Ghost](/tools/ghost/). It's a free and open-source blogging platform with a nice Markdown editor. If you're a WordPress user, you'll be happy to know there's [Markdown support](https://wordpress.com/support/wordpress-editor/blocks/markdown-block/) for websites hosted on WordPress.com. Self-hosted WordPress sites can use the [Jetpack plugin](https://jetpack.com/support/jetpack-blocks/markdown/).

### Documents

Markdown doesn't have all the bells and whistles of word processors like Microsoft Word, but it's good enough for creating basic documents like assignments and letters. You can use a Markdown document authoring application to create and export Markdown-formatted documents to PDF or HTML file format. The PDF part is key, because once you have a PDF document, you can do anything with it — print it, email it, or upload it to a website.

Here are some Markdown document authoring applications I recommend:

- **Mac:** [MacDown](/tools/macdown/), [iA Writer](/tools/ia-writer/), or [Marked 2](/tools/marked-2/)
- **iOS / Android:** [iA Writer](/tools/ia-writer/)
- **Windows:** [ghostwriter](https://kde.github.io/ghostwriter/) or [Markdown Monster](https://markdownmonster.west-wind.com/)
- **Linux:** [ReText](https://github.com/retext-project/retext) or [ghostwriter](https://kde.github.io/ghostwriter/)
- **Web:** [JotBird](/tools/jotbird/), [Dillinger](/tools/dillinger/), or [StackEdit](/tools/stackedit/)


   **Tip:** [iA Writer](https://ia.net/writer/templates/) provides templates for previewing, printing, and exporting Markdown-formatted documents. For example, the "Academic – MLA Style" template indents paragraphs and adds double sentence spacing.


### Notes

In nearly every way, Markdown is the ideal syntax for taking notes. Sadly, [Evernote](https://evernote.com/) and [OneNote](https://www.onenote.com/), two of the most popular note applications, don't currently support Markdown. The good news is that several other note applications *do* support Markdown:

- [Obsidian](/tools/obsidian/) is a popular Markdown note-taking application loaded with features.
- [Simplenote](/tools/simplenote/) is a free, barebones note-taking application available for every platform.
- [Notable](/tools/notable/) is a note-taking application that runs on a variety of platforms.
- [Bear](/tools/bear/) is an Evernote-like application available for Mac and iOS devices. It doesn't exclusively use Markdown by default, but you can enable Markdown compatibility mode.
- [Joplin](/tools/joplin/) is a note taking application that respects your privacy. It's available for every platform.

If you can't part with Evernote, check out [Marxico](https://marxi.co/), a subscription-based Markdown editor for Evernote, or use [Markdown Here](/tools/markdown-here/) with the Evernote website.

### Books

Looking to self-publish a novel? Try [Leanpub](https://leanpub.com/), a service that takes your Markdown-formatted files and turns them into an electronic book. Leanpub outputs your book in PDF, EPUB, and MOBI file format. If you'd like to create paperback copies of your book, you can upload the PDF file to another service such as [Kindle Direct Publishing](https://kdp.amazon.com). To learn more about writing and self-publishing a book using Markdown, read [this blog post](https://medium.com/techspiration-ideas-making-it-happen/how-i-wrote-and-published-my-novel-using-only-open-source-tools-5cdfbd7c00ca).

### Presentations

Believe it or not, you can generate presentations from Markdown-formatted files. Creating presentations in Markdown takes a little getting used to, but once you get the hang of it, it's a lot faster and easier than using an application like PowerPoint or Keynote. [Remark](https://remarkjs.com) ([GitHub project](https://github.com/gnab/remark)) is a popular browser-based Markdown slideshow tool, as are [Cleaver](https://jdan.github.io/cleaver/) ([GitHub project](https://github.com/jdan/cleaver)) and [Marp](https://marp.app/) ([GitHub project](https://github.com/marp-team/marp)). If you use a Mac and would prefer to use an application, check out [Deckset](https://www.decksetapp.com/) or [Hyperdeck](https://hyperdeck.io/).

### Email

If you send a lot of email and you're tired of the formatting controls available on most email provider websites, you'll be happy to learn there's an easy way to write email messages using Markdown. [Markdown Here](/tools/markdown-here/) is a free and open-source browser extension that converts Markdown-formatted text into HTML that's ready to send.

### Collaboration

Collaboration and team messaging applications are a popular way of communicating with coworkers and friends at work and home. These applications don't utilize all of Markdown's features, but the features they do provide are fairly useful. For example, the ability to bold and italicize text without using the WYSIWYG interface is pretty handy. [Slack](/tools/slack/), [Discord](/tools/discord/), [Wiki.js](/tools/wiki-js/), and [Mattermost](/tools/mattermost/) are all good collaboration applications.

### Documentation

Markdown is a natural fit for technical documentation. Companies like GitHub are increasingly switching to Markdown for their documentation — check out their [blog post](https://github.com/blog/1939-how-github-uses-github-to-document-github) about how they migrated their Markdown-formatted documentation to [Jekyll](/tools/jekyll/). If you write documentation for a product or service, take a look at these handy tools:

- [Read the Docs](https://readthedocs.org) can generate a documentation website from your open source Markdown files. Just connect your GitHub repository to their service and push — Read the Docs does the rest. They also have a [service for commercial entities](https://readthedocs.com/).
- [MkDocs](/tools/mkdocs/) is a fast and simple static site generator that's geared towards building project documentation. Documentation source files are written in Markdown and configured with a single YAML configuration file. MkDocs has several [built in themes](https://www.mkdocs.org/user-guide/styling-your-docs/), including a port of the [Read the Docs](https://readthedocs.org/) documentation theme for use with MkDocs. One of the newest themes is [MkDocs Material](https://squidfunk.github.io/mkdocs-material/).
- [Docusaurus](/tools/docusaurus/) is a static site generator designed exclusively for creating documentation websites. It supports translations, search, and versioning.
- [VuePress](https://vuepress.vuejs.org/) is a static site generator powered by [Vue](https://vuejs.org/) and optimized for writing technical documentation.
- [Jekyll](/tools/jekyll/) was mentioned earlier in the section on websites, but it's also a good option for generating a documentation website from Markdown files. If you go this route, be sure to check out the [Jekyll documentation theme](https://idratherbewriting.com/documentation-theme-jekyll/).

---

## File: _getting-started/why-use-markdown.md

## Why Use Markdown?

You might be wondering why people use Markdown instead of a WYSIWYG editor. Why write with Markdown when you can press buttons in an interface to format your text? As it turns out, there are several reasons why people use Markdown instead of WYSIWYG editors.

- Markdown can be used for everything. People use it to create [websites](#websites), [documents](#documents), [notes](#notes), [books](#books), [presentations](#presentations), [email messages](#email), and [technical documentation](#documentation).

- Markdown is portable. Files containing Markdown-formatted text can be opened using virtually any application. If you decide you don't like the Markdown application you're currently using, you can import your Markdown files into another Markdown application. That's in stark contrast to word processing applications like Microsoft Word that lock your content into a proprietary file format.

- Markdown is platform independent. You can create Markdown-formatted text on any device running any operating system.

- Markdown is future proof. Even if the application you're using stops working at some point in the future, you'll still be able to read your Markdown-formatted text using a text editing application. This is an important consideration when it comes to books, university theses, and other milestone documents that need to be preserved indefinitely.

- Markdown is everywhere. Websites like [Reddit](/tools/reddit/) and GitHub support Markdown, and lots of desktop and web-based applications support it.

---

## File: _tools/bear.md

---
title: Bear
category: notes
icon: bear.png
website: https://bear.app
syntax:
  - id: headings
    available: p
    notes: "[Alternative syntax](/basic-syntax/#alternate-syntax) is not supported."
  - id: paragraphs
    available: y
  - id: line-breaks
    available: p
    notes: "The Markdown syntax (trailing whitespace) is not supported, but you can press the Return key once to achieve the same result."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: p
    notes: "[Nested blockquotes](/basic-syntax/#nested-blockquotes) are not supported."
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
    notes: "You can link to other notes by enclosing a note's name in double brackets (i.e., `[[note-name]]`)."
  - id: images
    available: n
    notes: "The Markdown syntax is not supported, but you can drag and drop images into a note."
  - id: tables
    available: n
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs. You can copy a link to a heading by clicking the **H#** symbol next to the heading in the margin and selecting **Copy Link to Here**. See the [documentation](https://bear.app/faq/how-to-link-notes-together/) for more information."
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: y
    notes: "Use two colons instead of equal signs (e.g., `::word or phrase::`)."
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: p
    notes: "HTML is not rendered in Bear notes, but it is apparently rendered in the HTML output from exported notes."
see-also:
  - name: How to use Markdown in Bear
    link: https://bear.app/faq/how-to-use-markdown-in-bear/
---

[Bear](https://bear.app) is a macOS and iOS application designed for one thing: note taking. It's like [Evernote](https://evernote.com/), but without the bloat.

There aren't a lot of whizbang features in Bear. Instead, Bear consistently delivers on all of its promises. Tags, search, and syncing all work flawlessly. The application is intuitive, and that's exactly what you want when you're taking notes.

{% include image.html file="/assets/images/tools/bear.png" alt="Markdown in the Bear Markdown app" %}

Bear doesn't automatically enable support Markdown by default, but you can [enable it in the preferences](#enabling-markdown-support). The application has a hybrid live editor and text editor — you can see both the Markdown syntax and the way the formatting changes the text. It takes a while to get used to, but it's useful if you're just getting started with Markdown.

### Enabling Markdown Support

To enable Markdown support in Bear, open the Preferences window. On the **General** tab, turn on the setting for **Markdown compatibility mode**.


   **Tip:** If you're using Bear on more than one device, you'll need to enable the Markdown compatibility mode setting on all of your devices.


{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Bear provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Underline | `~word or phrase~` | word or phrase |

---

## File: _tools/blot.md

---
title: Blot
category: "websites"
icon: blot.png
website: https://blot.im/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: y
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
---
[Blot](https://blot.im) is a simple content management system (CMS) that transforms a folder on your computer into a fully functional website. It supports automatic publishing for various file types, including [Markdown files](https://blot.im/how/files/markdown).

Any Markdown file you place in the synced folder instantly becomes a post on your website. You can also embed images in Markdown files, whether they’re hosted online or stored locally in the same folder.

Blot offers robust Markdown support, leveraging Pandoc for parsing and rendering, along with additional extensions to enhance functionality.

{% include tool-syntax-table.html %}

---

## File: _tools/buttondown.md

---
title: Buttondown
category: "email"
icon: buttondown.png
website: https://buttondown.com/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: n
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs."
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: n
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: n
  - id: html
    available: p
    notes: "Some HTML is sanitized."
---

[Buttondown](https://buttondown.com) is an email platform that allows you to send emails to subscribers. It also has integrations with many other platforms to automatically publish or add subscribers, amongst other possibilities.

The email editor [supports Markdown](https://buttondown.com/features/markdown), with the possibility to switch to a WYSIWYG editor for those who prefer it.

{% include image.html file="/assets/images/tools/buttondown.png" alt="Buttondown email editor" %}

There are a couple minor compatibility issues noted below but, generally speaking, Buttondown has solid Markdown support. According to [their docs](https://docs.buttondown.com/using-markdown), it uses Python-Markdown for parsing and rendering along with a few extensions. The live editor is fairly intuitive and gives you a preview on how the email will look in both the archive and in email clients like Gmail. Copying and pasting Markdown-formatted text into the editor works the way you'd expect it to.

{% include tool-syntax-table.html %}

---

## File: _tools/byword.md

---
title: Byword
category: "documents"
icon: byword.png
website: https://bywordapp.com
notes: I only tested the Mac app, not the iOS app. Should probably test both in the future.
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: p
    notes: "Nested lists are not supported."
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: n
  - id: footnotes
    available: y
  - id: heading-ids
    available: n
  - id: definition-lists
    available: y
  - id: strikethrough
    available: n
  - id: task-lists
    available: n
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
---

[Byword](https://bywordapp.com) is no-frills Markdown editor for macOS and iOS. You type Markdown-formatted text, use a menu option to invoke the preview, and export to one of several available file formats including HTML, PDF, Microsoft Word, and LaTeX. You can publish to several blogging services, and the iCloud sync feature lets you author and access the files from all of your Apple devices. Byword isn't fancy by any means — some people might even be put off by the application's insubstantial look and feel — but it gets the job done.

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Byword provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |

---

## File: _tools/carrd.md

---
title: Carrd
category: "websites"
icon: carrd.png
website: https://carrd.co
syntax:
  - id: headings
    available: n
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: n
  - id: ordered-lists
    available: p
    notes: "Nested lists are not supported."
  - id: unordered-lists
    available: p
    notes: "Nested lists are not supported."
  - id: code
    available: p
    notes: "Code blocks are not supported."
  - id: horizontal-rules
    available: n
  - id: links
    available: p
    notes: "The link styles for [URLs and email addresses](/basic-syntax/#urls-and-email-addresses) and [reference-style links](/basic-syntax/#reference-style-links) are not supported."
  - id: images
    available: n
  - id: tables
    available: n
  - id: fenced-code-blocks
    available: n
  - id: syntax-highlighting
    available: n
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: n
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: n
  - id: disabling-auto-url
    available: n
  - id: html
    available: n
---

[Carrd](https://carrd.co) is a web-based subscription services that helps you build landing pages and simple websites. It really shines when you need a one-page website *now* — it literally takes minutes to build and publish a website using Caard. You can use Carrd's "no code" web interface to easily add and edit elements on your websites, like images and text. 

{% include image.html file="/assets/images/tools/carrd.png" alt="The Carrd website builder with Markdown." %}

Carrd supports a limited subset of basic Markdown syntax for text. Carrd's Markdown support is fairly limited, but it works for this particular use case. The supported syntax elements are mostly limited to text formatting — bold, italic, and lists. 

{% include tool-syntax-table.html %}

---

## File: _tools/codimd.md

---
title: CodiMD
category: "websites"
icon: codimd.png
website: https://github.com/hackmdio/codimd
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: n
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: n
  - id: html
    available: y
see-also:
  - name: CodiMD documentation
    link: https://hackmd.io/c/codimd-documentation/
---

[CodiMD](https://github.com/hackmdio/codimd) is an open-source real-time collaborative Markdown editor. You can easily [deploy CodiMD with Docker following this tutorial](https://hackmd.io/s/codimd-docker-deployment). CodiMD supports CommonMark and other markup syntax, such as:

- MathJax for formulas
- Mermaid and Graphviz for UML diagrams
- Vega-lite for data visualizations

CodiMD is the open-source version of [HackMD](/tools/hackmd/).

{% include tool-syntax-table.html %}

---

## File: _tools/collected-notes.md

---
title: Collected Notes
category: "notes"
icon: collected-notes.png
website: https://collectednotes.com/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: p
    notes: "Using underscores (`_example_`) underlines the word or phrase instead of italicizing it."
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
    notes: "The free plan allows you to display images on another website or server. To upload images, you'll need to subscribe to the premium plan."
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs."
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: p
    notes: "Collected Notes implemented this in a non-standard way. Use a dash and brackets without a space in between (`-[x] task`)."
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: n
---

[Collected Notes](https://collectednotes.com) is a note-taking platform that can publish your Markdown notes on the internet. Your notes can be kept private or published on a public webpage. You can author notes using the Collected Notes website or the macOS and iOS applications. 

{% include image.html file="/assets/images/tools/collected-notes.png" alt="Collected Notes Markdown application" width="90" %}

{% include tool-syntax-table.html %}

---

## File: _tools/dawin.md

---
title: Dawin (محرر دوّن)
category: "online editor"
icon: dawin.png
website: https://dawin.io
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
    notes: "There's no ability to upload images — you'll need to store the images on another server."
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: y
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
    notes: "You don't have to use dashes. Just use brackets (e.g., `[ ]`)."
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: n
see-also:
  - name: Dawin (RTL Markdown editor) repository on GitHub
    link: https://github.com/dawin-editor
  - name: Markdown Guide in Arabic
    link: https://guide.dawin.io/
---

[Dawin](https://www.dawin.io/) (aka *Writer in Arabic Language*) is an online right to left (RTL) Markdown editor (for Arabic, Persian, etc.). Like [StackEdit](/tools/stackedit/), it loads right in your web browser without having to install anything. Dawin has two panes: The editor on the right, and the live preview on the left. The split panes make it easy to see what Markdown-formatted text looks like.

Dawin provides excellent Markdown support and has export options for HTML and Markdown files. And since Dawin loads in your web browser, you can preview it on your browser or your phone and install it wherever you want — it also works offline (PWA). For those reasons, Dawin is best used for experimentation and quick note taking.

The application uses the [markdown-it](https://github.com/markdown-it/markdown-it) Markdown processor and [simplemde-rtl](https://github.com/imAbdelhadi/simplemde-rtl).

{% include image.html file="/assets/images/dawin.png" alt="Dawin RTL Markdown editor" %}

{% include tool-syntax-table.html %}

---

## File: _tools/deepdwn.md

---
title: Deepdwn
category: notes
icon: deepdwn.png
website: https://www.deepdwn.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: p
    notes: Heading IDs are automatically generated and link to headings via autocomplete.
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
---

[Deepdwn](https://billiam.itch.io/deepdwn) is an offline-only, feature-rich Markdown editor for Windows, Mac, and Linux.

{% include image.html file="/assets/images/tools/deepdwn.png" alt="Deepdwn application window with panels for filters, file list, document outline and editor." %}

Deepdwn supports organizing documents by both tags and categories stored in your document's YAML front matter, and supports backlinks to connect documents together.

Deepdwn has a number of editing features, like document outline, distraction-free mode, table auto-formatting and editing, Vim and Emacs keybindings, automatic list continuation, persistent section folding, image drag-and-drop and in-editor image preview, per-file and global word count history, and special effects for writing streaks.

Deepdwn also supports some additional block elements:

* Mermaid diagrams
* AsciiMath, Katex, and mhchem for math and chemistry rendering
* Sheet music, guitar tabs, and songbooks

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Deepdwn provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |
| Center | `-&gt;This text has been centered&lt;-` | This text has been centered |

---

## File: _tools/dendron.md

---
title: Dendron
category: "notes"
icon: dendron.png
website: https://www.dendron.so/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
    notes: "You can link to other notes in Dendron by using the `[[Link name|filename]]` syntax."
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: y
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Rich formatting
    link: https://wiki.dendron.so/notes/8DCgctK-RMD4EeHjC5_hI/
  - name: Dendron Markdown
    link: https://wiki.dendron.so/notes/ba97866b-889f-4ac6-86e7-bb2d97f6e376/
  - name: Self-hosted publishing using Netlify
    link: https://wiki.dendron.so/notes/yetuum6o9wZi6eVJQBbQb/
---

[Dendron](https://www.dendron.so) is an open source Markdown note-taking tool built on top of [VS Code](/tools/vscode/). If you already have VS Code installed on your computer, you can install the [Dendron extension](https://link.dendron.so/vscode) to get started. The Dendron extension is free to use. [Paid options](https://accounts.dendron.so/account/subscribe) are available for those who need hosted publishing and priority support options.

Dendron is clearly intended for a developer audience. The tool requires prerequisite knowledge of VS Code, and most people will likely need to spend some time reading the [documentation](https://wiki.dendron.so/), exploring the features, and mastering the keyboard shortcuts. The biggest selling point for Dendron users might be that the tool is in VS Code. Similar tools like [Obsidian](/tools/obsidian/) are in separate, standalone applications — they may have fewer features, but they also have a lower barrier to entry.

{% include image.html file="/assets/images/tools/dendron.png" alt="Dendron Markdown application" %}

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Dendron provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |

---

## File: _tools/dillinger.md

---
title: Dillinger
category: "online editor"
icon: dillinger.png
website: https://dillinger.io
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: p
    notes: "The Markdown syntax (trailing whitespace) is not supported, but you can press the Return key once to achieve the same result."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
    notes: "There's no ability to upload images — you'll need to store the images on another server."
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs."
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
    notes: "You don't have to use dashes. Just use brackets (e.g., `[ ]`)."
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: n
see-also:
  - name: Dillinger repository on GitHub
    link: https://github.com/joemccann/dillinger
---

[Dillinger](https://dillinger.io) is an online Markdown editor. Like [StackEdit](/tools/stackedit/), it loads right in your web browser, so there's no need to download and install an application on your computer. Dillinger has two panes: the editor on the left, and the live preview on the right. The split panes make it easy to see what Markdown-formatted text looks like.

Dillinger provides excellent Markdown support. Unfortunately, the export options are not customizable and the file saving features are a bit flaky. And since Dillinger loads in your web browser, it's entirely dependent on a consistent internet connection. If your internet connection goes down or your web browser crashes, you could lose your work. For those reasons, Dillinger is best used for experimentation and quick note taking.

The application uses the [markdown-it](https://github.com/markdown-it/markdown-it) Markdown processor.

{% include image.html file="/assets/images/dillinger.png" alt="Dillinger Markdown editor" %}

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Dillinger provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |
| Insert | `++This text has been inserted++` | This text has been inserted |

---

## File: _tools/discord.md

---
title: Discord
category: "collaboration"
icon: discord.png
website: https://discord.com/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: n
  - id: line-breaks
    available: n
    notes: "The Markdown syntax is not supported, but you can press the Shift and Return keys to go to the next line."
  - id: bold
    available: y
    notes: "Use asterisks. Underscores aren't supported."
  - id: italic
    available: y
  - id: blockquotes
    available: y
    notes: "You can use `>>>` to create a multi-line blockquote. All text from the `>>>` to the end of the message will be included in the quote."
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: n
  - id: links
    available: y
  - id: images
    available: n
  - id: tables
    available: n
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: n
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: n
see-also:
  - name: Discord Markdown Text 101
    link: https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-
---

[Discord](https://discord.com/) is one of the most popular messaging and collaboration applications available. Popular among gamers and teenagers, Discord provides a snappy and well-designed interface that works well for communicating with friends. Similar to [Slack](/tools/slack/), Discord provides limited Markdown support which is comparable to other applications in this category.

{% include image.html file="/assets/images/tools/discord.png" alt="Example of Discord Markdown" %}

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Discord provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Spoilers | `This text will be hidden:   spoilers  ` |  |
| Underline | `__This text will be underlined.__` | This text will be underlined. |
| Subtext | `-# This line will be made smaller and greyed out.` | This line will be made smaller and greyed out. |

---

## File: _tools/docsify.md

---
title: Docsify
category: "websites"
icon: docsify.png
website: https://docsify.js.org
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs."
  - id: definition-lists
    available: n
  - id: strikethrough
    available: n
  - id: task-lists
    available: n
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: y
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Docsify repository on GitHub
    link: https://github.com/docsifyjs/docsify/
  - name: Awesome Docsify - A curated list of awesome things related to docsify
    link: https://docsify.js.org/#/awesome 
---

[Docsify](https://docsify.js.org/) generates your documentation website on the fly. Unlike [GitBook](/tools/gitbook/), it does not generate static html files. Instead, it smartly loads and parses your Markdown files and displays them as a website. To start using it, all you need to do is create an `index.html` and [deploy it on GitHub Pages](https://docsify.js.org/#/deploy).

See the [Quick start](https://docsify.js.org/#/quickstart) guide for more details.

{% include image.html file="/assets/images/tools/docsify.png" alt="Docsify" width="100" %}

{% include tool-syntax-table.html %}

---

## File: _tools/docusaurus.md

---
title: Docusaurus
category: "websites"
icon: docusaurus.png
website: https://docusaurus.io
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "You can use a trailing backslash (`\\`) instead of trailing whitespace."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: y
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Docusaurus Markdown Features
    link: https://docusaurus.io/docs/markdown-features
---

[Docusaurus](https://docusaurus.io) is an open-source static site generator that converts Markdown files to a documentation website. Created by Facebook, Docusaurus is written in the Node.js programming language. Thousands of organizations use Docusaurus to power their documentation websites. An example of a website generated by Docusaurus is shown below.

Docusaurus uses the [remarkable](https://github.com/jonschlinkert/remarkable) Markdown processor.

{% include image.html file="/assets/images/tools/docusaurus.png" alt="Example of Docusaurus website" %}

{% include tool-syntax-table.html %}

---

## File: _tools/fsnotes.md

---
title: FSNotes
category: "notes"
icon: fsnotes.png
website: https://fsnot.es
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: n
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: n
  - id: html
    available: y
see-also:
  - name: FSNotes repository on GitHub
    link: https://github.com/glushchenko/fsnotes/
  - name: FSNotes Markdown reference
    link: https://github.com/glushchenko/fsnotes/wiki/Markdown-Reference
---

[FSNotes](https://fsnot.es) is an open source Markdown notes application designed for devices running macOS and iOS. The application is well maintained and supported with an active developer and user community. FSNotes can be downloaded for free from [GitHub](https://github.com/glushchenko/fsnotes/), but the preferred method of distribution is the Apple App Store — both the macOS and iOS versions can be purchased for a nominal fee.

{% include image.html file="/assets/images/tools/fsnotes.png" alt="FSNotes Markdown editor" %}

FSNotes' Markdown support is excellent. The application sports a number of features that will appeal to power users. For example, the security features allow you to encrypt notes automatically when your computer goes to sleep. There are also auto-save and archive features for git, iCloud, and Dropbox. The tagging and search features work flawlessly. Overall, FSNotes is a great option for people looking for a notes application designed for Apple devices.

{% include tool-syntax-table.html %}

---

## File: _tools/ghost.md

---
title: Ghost
category: "websites"
icon: ghost.png
website: https://ghost.org/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "You can use a trailing backslash (`\\`) instead of trailing whitespace."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: p
    notes: Nested blockquotes are not supported.
  - id: ordered-lists
    available: p
    notes: Nested lists are not supported.
  - id: unordered-lists
    available: p
    notes: Nested lists are not supported.
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: n
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs."
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: n
  - id: emoji-cp
    available: u
  - id: emoji-sc
    available: u
  - id: highlight
    available: n
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Using Markdown in Ghost
    link: https://ghost.org/faq/using-the-editor/#using-markdown
---

[Ghost](https://ghost.org/) is a relatively new content management system (CMS) for blogging that competes with older, established CMS products like WordPress and Drupal. Ghost is an open source project renowned for its speed, simplicity, and ease of use. Markdown support is standard and available out-of-the-box.

{% include image.html file="/assets/images/tools/ghost.png" alt="Ghost blog editor" %}

There are a couple minor compatibility issues noted below but, generally speaking, Ghost has solid Markdown support. The live editor is fairly intuitive and seems like a good choice for bloggers. Copying and pasting Markdown-formatted text into the editor works the way you'd expect it to.

{% include tool-syntax-table.html %}

---

## File: _tools/gitbook.md

---
title: GitBook
category: "websites"
icon: gitbook.png
website: https://www.gitbook.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: n
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: y
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: u
  - id: emoji-sc
    available: u
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: n
see-also:
  - name: GitBook Markdown documentation
    link: https://docs.gitbook.com/content-creation/editor/markdown
---

[GitBook](https://www.gitbook.com) is a hosted solution for documentation websites and knowledge bases. In a nutshell, you sign in to GitBook's website and use their web-based editor to write your documentation. Or, if you'd rather maintain control over your content, you can keep it in a git repository that is [integrated with GitBook](https://docs.gitbook.com/product-tour/git-sync). Either way, you can create different webpages and organize them in a logical order. When everything looks the way you want it, you can publish it on a custom domain.

Like so many projects, GitBook started as an open source toolchain with a commercial offering, but eventually dropped the open source project in favor of a new proprietary and closed-source offering that's hosted exclusively on their website. The [open source toolchain is still available](https://github.com/GitbookIO/gitbook), but as that option is now unsupported, this article only documents the new hosted option.

The advantage of GitBook over a tool like [Docusaurus](/tools/docusaurus/) is that GitBook takes care of building and hosting the site, and the WYSIWYG controls are intuitive enough to be used by Markdown novices. On the GitBook website, the live editor hides the Markdown formatting syntax after you type it. The editor is a bit flaky, but weird little bugs aside, the website generally works for both Markdown experts and people who don't have any experience with Markdown. You can also simply copy and paste Markdown-formatted text into the GitBook interface.

{% include tool-syntax-table.html %}

---

## File: _tools/github-pages.md

---
title: GitHub Pages
category: "websites"
icon: github-pages.png
website: https://pages.github.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
    notes: "Make sure that `syntax_highlighter: rouge` is in the `kramdown` section of the `_config.yml` file."
  - id: footnotes
    available: y
  - id: heading-ids
    available: y
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
    notes: "You can use two tildes (`~~word~~`) or one tilde (`~word~`) — both work."
  - id: task-lists
    available: y
  - id: emoji-cp
    available: u
  - id: emoji-sc
    available: u
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Jekyll documentation
    link: https://jekyllrb.com/
  - name: kramdown documentation
    link: https://kramdown.gettalong.org/
---

[GitHub Pages](https://pages.github.com) is a service that turns Markdown files into a website and hosts them for free on the internet. If you know how to use GitHub and you need to create a simple webpage, you can't do better than GitHub Pages. Just create a new repository on GitHub, commit the Markdown files, and enable the GitHub Pages feature.

GitHub Pages uses the [Jekyll](/tools/jekyll/) static site generator to create your website, and the Markdown support is excellent. You can pick one of GitHub's pre-made themes for your website, use a [Jekyll theme](http://jekyllthemes.org/), or use your own custom CSS. Shown below is a sample webpage using one of GitHub's pre-made themes.

{% include image.html file="/assets/images/tools/github-pages.png" alt="Example of GitHub Pages websites" width="90" %}

Confusingly, GitHub Pages renders Markdown differently than GitHub does. GitHub uses its own Markdown processor; GitHub Pages uses [jekyll-commonmark](https://github.com/github/jekyll-commonmark-ghpages). This means your `README.md` file will look different on GitHub's website than on your GitHub Pages website. For example, emoji are rendered on GitHub's website, but not on websites generated using GitHub Pages.

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, GitHub Pages provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |

---

## File: _tools/gitjournal.md

---
title: GitJournal
category: "notes"
icon: gitjournal.png
website: https://gitjournal.io
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: n
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: n
  - id: html
    available: n
see-also:
  - name: GitJournal repository on GitHub
    link: https://github.com/GitJournal/GitJournal
---

[GitJournal](https://gitjournal.io) is a mobile-first Markdown editor integrated with Git.

It supporting syncing your notes using any git repository accessible vis SSH, including GitHub, GitLab, Gitea, or your own server. The entire code base is also completely open source. GitJournal focuses on giving users control of their data and allowing them to access it with multiple devices using an open and well known protocol: git. There are various free and commercial git hosting providers, and setting up your own git server has a lower bar of entry than any other syncing solution.

GitJournal additionally lets you easily link your notes together with a Wiki style link - ``[[FileName]]``.  This lets you easily interlink different ideas and even build your own knowledge base.

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, GitJournal provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| WikiLinks | `[[PageName]]` | Links to the file `PageName.md` |

---

## File: _tools/google-docs-to-markdown.md

---
title: Google Docs to Markdown
category: "documents"
icon: google-docs-to-markdown.png
website: https://workspace.google.com/marketplace/app/docs_to_markdown/700168918607
see-also:
  - name: Docs to Markdown GitHub repository
    link: https://github.com/evbacher/gd2md-html
---

Let's get this out of the way first: Google Docs doesn't natively support Markdown. However, by using the free and open source [Docs to Markdown](https://workspace.google.com/marketplace/app/docs_to_markdown/700168918607) add-on for Google Docs, you can quickly and easily export a Google Doc to Markdown. (The add-on doesn't help with importing Markdown into Google Docs.) 

This add-on was created by a retired Google technical writer, and it's currently the best way to export a Google Doc to Markdown. Docs to Markdown is useful for teams that want to use Google Docs for the collaboration features, but ultimately need Markdown-formatted plain text to publish to a website. 

Once you install the [Docs to Markdown](https://workspace.google.com/marketplace/app/docs_to_markdown/700168918607) add-on in your Google account, you can open a document in Google Docs and access the add-on from the **Add-ons** menu. After you select the convert option, the Markdown-formatted version of your document will appear in a sidebar, as shown below. At that point, you can copy and paste the Markdown-formatted text into another application.

{% include image.html file="/assets/images/tools/google-docs-to-markdown.png" alt="Markdown in Google Docs" %}

I recently used Docs to Markdown to convert a 50-page Google Doc to Markdown. I can't say that my experience was great, but it was better than manually converting the document to Markdown by hand. 

One issue is that the add-on has strong opinions when it comes to syntax, and there's no way to customize how the add-on outputs text to Markdown. For example, the add-on outputs italicized text using underscores instead of asterisks, something that could lead to unexpected errors in the output. I also discovered that the add-on doesn't correctly handle link conversion. There were numerous stray spaces in my links, leading to broken formatting in the Markdown-formatted text. 

No matter what type of document you convert, you should plan on inspecting the output that the Docs to Markdown add-on generates. The add-on still feels like a work-in-progress, and you may find yourself needing to fix broken formatting.

---

## File: _tools/hackmd.md

---
title: HackMD
category: "websites"
icon: codimd.png
website: https://hackmd.io
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y    
  - id: footnotes
    available: y
  - id: heading-ids
    available: n
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: HackMD features
    link: https://hackmd.io/s/features
---

[HackMD](https://hackmd.io) is a real-time, multi-platform collaborative Markdown editor. You can use HackMD to write notes with other people on your computer, tablet, or phone. HackMD provides a variety of document templates and allows users to push documents to GitHub. You can import and export documents from Dropbox, Google Drive, and GitHub gists.

{% include image.html file="/assets/images/tools/hackmd.png" alt="The HackMD Markdown interface" %}

HackMD supports CommonMark and other markup syntax, such as:

- MathJax for formulas
- Mermaid and Graphviz for UML diagrams
- Vega-lite for data visualizations

HackMD is the commercial version of [CodiMD](/tools/codimd/).

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, HackMD provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |

---

## File: _tools/hedgedoc.md

---
title: HedgeDoc
category: "websites"
icon: hedgedoc.png
website: https://hedgedoc.org/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: y
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: p
    notes: "Not all HTML elements are supported."
see-also:
  - name: HedgeDoc Flavored Markdown
    link: https://docs.hedgedoc.org/references/hfm/
---

[HedgeDoc](https://hedgedoc.org/) is an open-source real-time collaborative Markdown editor. This project was forked from — and is similar to — [CodiMD](/tools/codimd/) (see the HedgeDoc website for a summary of the [history of the project](https://hedgedoc.org/history/)). As of November 2021, HedgeDoc version 2 isn't yet publicly available — this page documents Markdown support in HedgeDoc version 1.

{% include image.html file="/assets/images/tools/hedgedoc.png" alt="The HedgeDoc Markdown editor." %}

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, HedgeDoc provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |

---

## File: _tools/hugo.md

---
title: Hugo
category: "websites"
icon: hugo.png
website: https://gohugo.io
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: y
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
    notes: "Disabled by default if you're using Goldmark. To enable, set the `unsafe` option to `true` in the [Goldmark configuration](https://gohugo.io/getting-started/configuration-markup#goldmark)."
see-also:
  - name: Hugo Supported Content Formats
    link: https://gohugo.io/content-management/formats/
  - name: Goldmark GitHub repository
    link: https://github.com/yuin/goldmark/
---

[Hugo](https://gohugo.io) is a popular static site generator written in the Go programming language. Hugo is jam-packed with features, but one of its main selling points is speed — Hugo takes mere seconds to generate a site with thousands of pages. [Smashing Magazine](https://www.smashingmagazine.com/2017/03/a-little-surprise-is-waiting-for-you-here/) recently switched to Hugo from WordPress.

Hugo has excellent Markdown support out of the box. By default, Hugo uses the [Goldmark](https://github.com/yuin/goldmark/) Markdown processor which is fully CommonMark-compliant. See the [configuration instructions](https://gohugo.io/getting-started/configuration-markup/) to learn more about the extensions you can configure. You can change Hugo's Goldmark settings in the `config.toml` file, as shown below.

```toml
baseURL = "http://mysite.org/"
languageCode = "en-us"
title = "My Site"
theme = "ananke"

[markup]
taskLists = false
```

{% include tool-syntax-table.html %}

---

## File: _tools/ia-writer.md

---
title: iA Writer
category: "documents"
icon: ia-writer.png
website: https://ia.net/writer
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "You can use a trailing backslash (`\\`) instead of trailing whitespace."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: p
    notes: "Automatically generated. Use `[custom-id]` for custom heading IDs."
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: n
  - id: disabling-auto-url
    available: y
    notes: "You don't need to use this since URLs aren't automatically linked."
  - id: html
    available: y
see-also:
  - name: iA Writer Markdown Guide
    link: https://ia.net/writer/support/general/markdown-guide
---

[iA Writer](https://ia.net/writer) is one of the most established and widely-acclaimed Markdown editors. Considered to be a "gold standard" Markdown editor, iA Writer is available for devices running macOS, Windows, iOS, and Android operating systems. The application allows you to export Markdown files to HTML, PDF, and Microsoft Word file format using [custom templates](https://ia.net/writer/templates).

One of the hallmarks of the application is *focus mode*. When enabled, that feature keeps the sentence you're currently working on horizontally centered, as shown in the screenshot below. It feels a little like using a typewriter.

{% include image.html file="/assets/images/tools/ia-writer.png" alt="iA Writer in focus mode" %}

There are a couple of quirks you should be aware of. iA Writer doesn't save new files with the Markdown extension (`.md`) by default. If you plan to exclusively create Markdown files using iA Writer, you should change the default extension to `.md` in **Preferences** > **Files**.

The Preview button is the little triangle button in the top-right corner of the window. You can click that to preview the output, and then click it again to return to the source.

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, iA Writer provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |

---

## File: _tools/imdone.md

---
title: Imdone
category: "kanban"
icon: imdone.png
website: https://imdone.io
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: u
  - id: emoji-sc
    available: y
  - id: highlight
    available: y
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: n
  - id: disabling-auto-url
    available: n
  - id: html
    available: y
---

[Imdone](https://imdone.io) is a comprehensive suite of developer-first task management tools designed to work seamlessly with Markdown and code. The toolkit includes a powerful kanban board where Markdown blocks in your notes, docs, and code are represented as cards, a command-line interface (CLI) for syncing with Jira to keep your project management in sync, a VSCode extension for integrated task management within your development environment, and an Obsidian plugin for note-based task management. You can add and edit cards using the built-in card editor, your favorite text editor, or directly through Jira sync, making it convenient to update your tasks while you're working on a Markdown document or code.

{% include image.html file="/assets/images/tools/imdone.png" alt="Imdone kanban application" width="90" %}

{% include tool-syntax-table.html %}

---

## File: _tools/inkdrop.md

---
title: Inkdrop
category: "notes"
icon: inkdrop.png
website: https://www.inkdrop.app
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "In addition to trailing whitespace, you can also use a trailing backslash to achieve the same result."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
    notes: "Disabled by default. Download and install the [footnotes plugin](https://github.com/inkdropapp/inkdrop-footnotes) to enable."
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
    notes: "Disabled by default. Download and install the [emoji plugin](https://github.com/inkdropapp/inkdrop-markdown-emoji) to enable."
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Inkdrop Markdown Cheatsheet
    link: https://docs.inkdrop.app/manual/markdown-cheatsheet
---

[Inkdrop](https://www.inkdrop.app) is a Markdown note-taking app with a great feature set. You create an account on the Inkdrop website (free trial available, then monthly subscription required), download the desktop and mobile applications, and start writing. Organizing notes is easy with notebooks, statuses, and tags.

One of the best parts of Inkdrop is that it's extensible. A variety of plugins allow you to add flowcharts, sequence diagrams, and (my personal favorite) [admonitions](https://github.com/libeanim/inkdrop-admonition). And, on a note somewhat unrelated to the application itself, you might be interested in learning that Inkdrop's developer is a [prolific blogger](https://blog.inkdrop.info/) who takes [security seriously](https://docs.inkdrop.app/security).

{% include image.html file="/assets/images/tools/inkdrop.png" alt="Inkdrop Markdown application" %}

{% include tool-syntax-table.html %}

---

## File: _tools/jekyll.md

---
title: Jekyll
category: "websites"
icon: jekyll.png
website: https://jekyllrb.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
    notes: "Make sure that `syntax_highlighter: rouge` is in the `kramdown` section of the `_config.yml` file."
  - id: footnotes
    available: y
  - id: heading-ids
    available: y
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
    notes: "You can use two tildes (`~~word~~`) or one tilde (`~word~`) — both work."
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
    notes: "Not supported by default, but you can use the [jemoji](https://github.com/jekyll/jemoji) plugin to enable support."
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Jekyll Markdown configuration options
    link: https://jekyllrb.com/docs/configuration/markdown/
  - name: kramdown documentation
    link: https://kramdown.gettalong.org/
---

[Jekyll](https://jekyllrb.com) is a static site generator that takes Markdown files and converts them to a website. Jekyll is a free and open-source application written in the Ruby programming language. Thousands of websites, including the *Markdown Guide*, rely on Jekyll to convert Markdown source files to HTML output. [GitHub Pages](/tools/github-pages/) uses Jekyll as the backend for its free website creation service.

By default, Jekyll uses the [kramdown](https://kramdown.gettalong.org/) Markdown processor with stock settings, but you can enable other kramdown options or even switch Jekyll to another Markdown processor. See the [Jekyll Markdown configuration options](https://jekyllrb.com/docs/configuration/markdown/) documentation for more information. You can change Jekyll's kramdown settings in the `_config.yml` file. The settings for the *Markdown Guide* are shown below.

```yaml
kramdown:
  syntax_highlighter: rouge
  input: GFM
  auto_ids:       true
  toc_levels:     1..3
```

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Jekyll provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |

---

## File: _tools/joplin.md

---
title: Joplin
category: "notes"
icon: joplin.png
website: https://joplinapp.org
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "In addition to trailing whitespace, you can also use a trailing backslash or press the Return key once to achieve the same result."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs."
  - id: definition-lists
    available: y
    notes: "Not enabled by default, but can be enabled in **Preferences** > **Plugins**."
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
    notes: "Not enabled by default, but can be enabled in **Preferences** > **Plugins**."
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Joplin Markdown documentation
    link: https://joplinapp.org
---

[Joplin](https://joplinapp.org) is a free and open-source note taking application that works on every platform. Joplin's user interface isn't as polished as some of its competitors — it feels more geeky, if that makes any sense — but the application is a favorite among privacy advocates and is recommended by [Privacy Guides](https://www.privacyguides.org/en/notebooks/). Joplin stores notes on your local file system, provides end-to-end encryption, and allows you to synchronize files across devices by storing them on a service like Dropbox or Nextcloud. Or, you can subscribe to [Joplin Cloud](https://joplinapp.org/plans/) for syncing. 

{% include image.html file="/assets/images/tools/joplin.png" alt="Joplin Markdown application" width="90" %}

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Joplin provides support for several obscure elements.


   **Tip:** Most of these elements are disabled by default. You can enable them in **Preferences** > **Plugins**.




| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification
is maintained by the W3C. |
| Insert | `++This text has been inserted++` | This text has been inserted |

---

## File: _tools/jotbird.md

---
title: JotBird
category: "Markdown publishing"
icon: jotbird.png
website: https://www.jotbird.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: y
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
---

*Full disclosure: JotBird was created by the author of The Markdown Guide.*

JotBird is the fastest way to publish Markdown as a web page. You write Markdown in your browser — with a live preview as you type — and publish it to a shareable URL in one click. No setup, no static-site generator, no hosting to configure. If you've ever written something in Markdown and then wondered how to actually get it online, that's the gap JotBird fills.

It's also a genuinely good editor to write in: distraction-free, fast, with your draft saved locally so there's nothing to install. But the editor is the means, not the end. The point is that what you write becomes a real page other people can read.

{% include image.html file="/assets/images/tools/jotbird.png" alt="The JotBird Markdown editor" %}

JotBird supports a wide range of Markdown features, including GitHub-style tables, task lists, strikethrough, emoji shortcodes, footnotes, and syntax highlighting in fenced code blocks. Images can be pasted directly into the editor and upload automatically when you publish.
Publishing is free. Anonymous documents stay live for 30 days; a Pro account ($29/year) makes links permanent and adds custom URLs and themes.

{% include tool-syntax-table.html %}

---

## File: _tools/logseq.md

---
title: Logseq
category: "notes"
icon: logseq.png
website: https://logseq.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
    notes: "Every paragraph starts with a hyphen character (`-`)"
  - id: line-breaks
    available: y
    notes: "Use CR character (`\\r`)"
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y 
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
    notes: "Not yet supported, but it's on the roadmap"
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: n
    notes: "Logseq has predefined commands for this: TODO/DOING/DONE or LATER/NOW"
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: n
    notes: "Use `X_{sub}`"
  - id: superscript
    available: n
    notes: "Use `X^{super}`"
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: n
  - id: html
    available: y
    notes: "Requires XHTML tags: tags must be closed or self-closing (e.g. ``)"
see-also:
  - name: Logseq documentation
    link: https://docs.logseq.com/
---

[Logseq](https://logseq.com) is an open-source note taking application that supports Markdown and Orgmode syntax. As it prioritizes privacy, everything is stored locally on your machine for the desktop and web applications. There are [mobile apps](https://logseq.com/downloads) available for iOS and Android devices.

Logseq provides a very promising feature set: Back links, note graphs (inspired by Roam Research), automated card creation (for learning), templates, and much more.

{% include image.html file="/assets/images/tools/logseq.png" alt="Logseq application" %}

{% include tool-syntax-table.html %}

---

## File: _tools/macdown.md

---
title: MacDown
category: "documents"
icon: macdown.png
website: https://macdown.uranusjr.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
    notes: "Enabled by default in **Preferences** > **Markdown**."
  - id: fenced-code-blocks
    available: y
    notes: "Enabled by default in **Preferences** > **Markdown**."
  - id: syntax-highlighting
    available: y
    notes: "Disabled by default. Enable in **Preferences** > **Rendering**."
  - id: footnotes
    available: y
    notes: "Enabled by default in **Preferences** > **Markdown**."
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
    notes: "Disabled by default. Enable in **Preferences** > **Markdown**."
  - id: task-lists
    available: y
    notes: "Disabled by default. Enable in **Preferences** > **Markdown**."
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
    notes: "Disabled by default. Enable in **Preferences** > **Markdown**."
  - id: subscript
    available: n
  - id: superscript
    available: y
    notes: "Disabled by default. Enable in **Preferences** > **Markdown**."
  - id: auto-url-linking
    available: y
    notes: "Disabled by default. Enable in **Preferences** > **Markdown**."
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: MacDown repository on GitHub
    link: https://github.com/MacDownApp/macdown
---

[MacDown](https://macdown.uranusjr.com) is one of the best Markdown editors available for macOS. The application is free and open source, and it strikes a good balance between power and simplicity. MacDown provides excellent Markdown support.

MacDown sports two panes — you type on the left and preview the formatted text on the right. Basic export options for HTML and PDF file format are provided. You can enable and disable support for many syntax elements, a nice feature for people who simply don't want or need all of the bells and whistles.

{% include image.html file="/assets/images/tools/macdown.png" alt="The MacDown application with open Markdown file." %}

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, MacDown provides support for several obscure elements. These are disabled by default, but you can enable them in **Preferences** > **Markdown**.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Underline | `_word or phrase_` | word or phrase |

---

## File: _tools/madoko.md

---
title: Madoko
category: documents
icon: madoko.png
website: https://github.com/koka-lang/madoko
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: p
    notes: "Images can be dropped into the document to be automatically uploaded and linked to a sub-directory of the document's folder. Just watch the file size as images larger than about 1Mb are rejected by the Madoko server."
  - id: tables
    available: y
    notes: "Madoko significantly extends the table syntax of basic Markdown."
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
    notes: "Internally, Madoko uses the Monarch library to do syntax highlighting."
  - id: footnotes
    available: y
  - id: heading-ids
    available: y
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: n
  - id: html
    available: p
    notes: "See the Madoko Reference for more information on custom blocks."
---

[Madoko](https://github.com/koka-lang/madoko) is a fast Markdown processor for writing professional articles, books, manuals, webpages and presentations, with a focus on simplicity and plain text readability. You can use Madoko to write complex documents in Markdown and get beautiful PDF and HTML output. Madoko is a Javascript Markdown processor written in Koka. It started out as a demo program for the new, strongly typed, Koka language and the name comes from "Markdown in Koka."

Madoko can both be run locally as a command-line program or on Madoko.net to take advantage of storage and collaboration features. Madoko integrates seamlessly with Dropbox, Github, and OneDrive. It automatically synchronizes all changes in the cloud. This way, your document is always available from any device. The online editor can also edit files on the local disk, or run LaTeX locally, using the Madoko local program.

{% include image.html file="/assets/images/tools/madoko-editor.png" alt="Madoko editor interface" width="90" %}

Madoko implements extensions like Github Flavored Markdown, [pandoc](https://pandoc.org/), [Markdown Extra](https://michelf.ca/projects/php-markdown/extra/), and [multi-markdown](https://fletcherpenney.net/multimarkdown/), and it adds other useful features for writing academic and industrial documents.

In Madoko, tabs are considered to be equivalent to 4 spaces. It's best to configure your editor to view tabs as 4 spaces wide or documents may look off.

{% include tool-syntax-table.html %}

---

## File: _tools/mark-text.md

---
title: MarkText
category: documents
icon: mark-text.png
website: https://github.com/marktext/marktext
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "There's a discrepancy between the MarkText editor and the rendered output when you press the Return key once — that *does not* create a line break in the exported HTML and PDF. You must use trailing whitespace or a trailing backslash (`\\`)."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
    notes: "For some reason, [angle brackets](/basic-syntax/#urls-and-email-addresses) for URLs and email addresses are rendered literally in the MarkText editor. It's a minor issue since the links are rendered correctly in the exported HTML and PDF."
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
    notes: "You can use two tildes (`~~word~~`) or one tilde (`~word~`) — both work in the exported HTML and PDF even though the MarkText editor only renders strikethrough with two tildes."
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: MarkText GitHub repository
    link: https://github.com/marktext/marktext
---

[MarkText](https://github.com/marktext/marktext) is a popular free and open-source document editor designed exclusively for writing in Markdown. Like [Typora](/tools/typora/), MarkText has a polished interface and a live editor that hides the Markdown formatting after you type it. The PDF and HTML export options are handy, as is the feature that allows you to copy text out of the editor as Markdown, HTML, or plaintext.

There are some minor annoyances. In several instances (noted below in the table), the appearance of the text in the application didn't match the rendered output of the exported HTML and PDF. And as with [Notion](/tools/notion/), it can be difficult to edit Markdown-formatted text after the live editor has converted it.

{% include tool-syntax-table.html %}

---

## File: _tools/markdeep.md

---
title: Markdeep
category: "websites"
icon: markdeep.png
website: https://casual-effects.com/markdeep
notes: "tested using the default Markdeep web template"
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: n
  - id: bold
    available: p
    notes: "Asterisks in the middle of a word (i.e., `in**middle**here`) are rendered literally."
  - id: italic
    available: p
    notes: "Asterisks in the middle of a word (i.e., `in*middle*here`) are rendered literally."
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: n
  - id: definition-lists
    available: y
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: u
  - id: emoji-sc
    available: u
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
---

[Markdeep](https://casual-effects.com/markdeep) is a free and simple tool that turns any Markdown file into a self-contained HTML file that can be viewed in a web browser. There's nothing to install and there's no service to register for — you simply add one line of code to the bottom of your Markdown file. This is a great option if you need to quickly view a Markdown file in a web browser or share a Markdown file with someone who needs to view the rendered output.

Using Markdeep is a three-part process:

1. Add the following tag for Markdeep on a single line at the bottom of a Markdown file.

    `<style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js" charset="utf-8"></script><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js" charset="utf-8"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>`

2. Rename the Markdown file to add the `.md.html` extension (i.e., `myfile.md.html`).
3. Open the file in a web browser to see the rendered output.

This tool has a lot of features beyond what's described here. For example, you can choose from a variety of templates to customize the look of your page. Markdeep also supports diagrams, LaTeX typesetting for equations, and much more. Check out the excellent [documentation](https://casual-effects.com/markdeep) for the full details.

{% include tool-syntax-table.html %}

---

## File: _tools/markdown-here.md

---
title: Markdown Here
category: "browser extension"
icon: markdown-here.png
website: https://markdown-here.com
notes: "tested in gmail"
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "You can also press the Return key once to achieve the same result."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: n
  - id: emoji-cp
    available: u
  - id: emoji-sc
    available: u
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Markdown Here compatibility list
    link: https://github.com/adam-p/markdown-here/wiki/Compatibility
  - name: Markdown Here repository on GitHub
    link: https://github.com/adam-p/markdown-here
---

[Markdown Here](https://markdown-here.com) is a free and open-source browser extension that converts Markdown text in website forms to properly-formatted rich text. This a good way to start using Markdown everywhere you type, whether you're drafting email messages in Gmail or writing blog posts in WordPress. The marketing material positions Markdown Here as a solution for email, but the extension can be used with virtually any website that supports rich text, including Evernote. See the list of [compatible websites and services](https://github.com/adam-p/markdown-here/wiki/Compatibility) for more information.

To use Markdown Here after installing it, start typing Markdown-formatted text in a form, like a new email message in Gmail. When you're finished writing the message, right click in the form and select **Markdown Toggle**, as shown in the screenshot below. Markdown Here will convert your Markdown-formatted text to properly-formatted rich text.

{% include image.html file="/assets/images/tools/markdown-here.png" alt="Markdown Here in Gmail" width="60" %}

One source of frustration is the inconsistency in rendered output. Since Markdown Here relies on the features provided by whatever rich text editor you happen to be working in, the rendered output varies from website to website. This probably goes without saying, but you should be careful to examine the output before sending your email message or saving your file.

{% include tool-syntax-table.html %}

---

## File: _tools/markdown-space.md

---
title: Markdown Space
category: 'websites'
icon: markdown-space.png
website: https://markdown.space
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs."
  - id: definition-lists
    available: n
  - id: strikethrough
    available: n
  - id: task-lists
    available: y
  - id: emoji-cp
    available: n
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Markdown Space Documentation
    link: https://markdown.space/documentation
---

[Markdown Space](https://markdown.space) is a platform for building beautiful, fast, and responsive websites with Markdown syntax. Host your site on a custom domain and get the benefits of the [Cloudflare Supercloud](https://blog.cloudflare.com/welcome-to-the-supercloud-and-developer-week-2022/). Generate content with the help of AI, and add JSX components with support for [MDX](https://mdxjs.com). Leverage the beauty of [Bootswatch](https://bootswatch.com) themes.

See the [Quick start](https://markdown.space/getting-started) guide for more details.

{% include image.html file="/assets/images/tools/markdown-space.png" alt="Markdown Space" width="100" %}

{% include tool-syntax-table.html %}

---

## File: _tools/markdown-tool.md

---
title: Markdown Tool
category: "documents"
icon: generic.png
website: https://github.com/artiomn/markdown_articles_tool
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
---

[Markdown Articles Tool](https://github.com/artiomn/markdown_articles_tool) is a free command line utility designed to help you manage online Markdown documents (e.g., articles). You can download text with images using deduplication and convert to the different formats. The Markdown Articles Tool is available for macOS, Windows, and Linux. It's written in Python — if you want to use separate functions, you can just import the package.

{% include image.html file="/assets/images/tools/markdown-tool.png" alt="Markdown Articles Tool" %}

{% include tool-syntax-table.html %}

---

## File: _tools/marked-2.md

---
title: Marked 2
category: "documents"
icon: marked2.png
website: https://marked2app.com/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "MultiMarkdown doesn't support trailing backslashes."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: p
    notes: "MultiMarkdown doesn't support nested unordered lists. Works with Discount."
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: n
  - id: footnotes
    available: y
  - id: heading-ids
    available: p
    notes: "Only works with MultiMarkdown."
  - id: definition-lists
    available: p
    notes: "Discount doesn't support this feature. Works with MultiMarkdown."
  - id: strikethrough
    available: p
    notes: "MultiMarkdown doesn't support this feature. Works with Discount."
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: p
    notes: "Discount doesn't support this feature."
  - id: html
    available: y
---

[Marked 2](https://marked2app.com/) is a proprietary Mac application that helps you preview (not edit) Markdown files on your Mac. The obvious use for this application is as a "missing desktop Markdown renderer" of sorts — just drag and drop a Markdown file on the Marked 2 icon and you'll see it rendered. One can imagine a teacher, for example, using this application to read and grade assignments that were submitted electronically as Markdown files. But there are numerous other uses for Marked 2. 

Consider that while many newer editors like Atom and [VS Code](/tools/vscode/) have Markdown preview functionality built in, many older editors don't. Marked 2 is designed for people who use editors like Vim. You could arrange the Marked 2 window next to Vim for a live preview of what your rendered Markdown file will look like.

It's clear the author of this utility has invested a lot of time and effort to get things right. It's the attention to detail that makes this application worth the asking price. For instance, when you open Marked 2, a setup assistant guides you through configuring the rendering options to support your specific use case (Marked 2 actually contains two Markdown processors: MultiMarkdown and Discount). Highly recommended for Mac users that need a reliable way to preview or export Markdown files (check out the [available styles](https://marked2app.com/styles/)).

{% include image.html file="/assets/images/tools/marked2-1.png" alt="The Marked 2 processor selection." %}

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Marked 2 provides support for several obscure elements when using MultiMarkdown.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Abbreviation | `*[HTML]: Hyper Text Markup Language`
      `The HTML specification is maintained by the W3C.` | The HTML specification is maintained by the W3C. |
| Underline | `_word or phrase_` | word or phrase |

---

## File: _tools/mart.md

---
title: MART
category: "documents"
icon: mart.png
website: https://github.com/artiomn/mart_gui
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Markdown Tool
    link: https://github.com/artiomn/markdown_articles_tool
---

[Markdown ARticles Tool GUI](https://github.com/artiomn/mart_gui) is a Qt GUI for the [Markdown Articles Tool](https://github.com/artiomn/markdown_articles_tool). You can download text with images using deduplication and convert to different formats. The Markdown ARticles Tool GUI is available for macOS, Windows, and Linux.

{% include image.html file="/assets/images/tools/mart.png" alt="Markdown Articles Tool QT GUI" %}

{% include tool-syntax-table.html %}

---

## File: _tools/mattermost.md

---
title: Mattermost
category: collaboration
icon: mattermost.png
website: https://mattermost.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "You can also press the Shift and Return keys to go to the next line."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: n
see-also:
  - name: The Magic of Mattermost Markdown
    link: https://www.mattermost.org/open-source-slack-alternative-adopts-markdown/
---

[Mattermost](https://mattermost.com) is an open source enterprise messaging and team collaboration application. It's like [Slack](/tools/slack/), but with excellent Markdown support. In fact, Mattermost provides exactly the type of Markdown support you want to see in a messaging application. You can type messages in Markdown or copy and paste Markdown-formatted text into the message field — it works exactly the way you'd expect it to. The application uses [a fork of the marked Markdown processor](https://github.com/mattermost/marked).

{% include tool-syntax-table.html %}

---

## File: _tools/mkdocs.md

---
title: MkDocs
category: "websites"
icon: mkdocs.png
website: https://www.mkdocs.org
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: n
  - id: task-lists
    available: n
  - id: emoji-cp
    available: u
  - id: emoji-sc
    available: u
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Writing in Markdown with MkDocs
    link: https://www.mkdocs.org/user-guide/writing-your-docs/#writing-with-markdown
  - name: MkDocs repository on GitHub
    link: https://github.com/mkdocs/mkdocs/
---

[MkDocs](https://www.mkdocs.org) is a static site generator designed for building documentation websites.  Written in the Python programming language, MkDocs is an open-source project with a lot of community support. A variety of [themes](https://github.com/mkdocs/mkdocs/wiki/MkDocs-Themes) are available. In terms of Markdown support, MkDocs does an excellent job supporting the basic syntax elements, but it lacks support for some extended syntax elements.

The application uses the [Python-Markdown](https://python-markdown.github.io/) Markdown processor. You can enable additional [extensions](https://www.mkdocs.org/user-guide/configuration/#markdown_extensions).

{% include image.html file="/assets/images/tools/mkdocs.png" alt="A newly deployed MkDocs site." width="70" %}

{% include tool-syntax-table.html %}

### Using Admonitions

Here's a handy feature: You can enable an extension to use [admonitions](https://python-markdown.github.io/extensions/admonition/) in MkDocs. This is a quick and easy way to start using notes, warnings, and tips on your MkDocs site. See this [GitHub issue](https://github.com/mkdocs/mkdocs/issues/1659) for more information and examples.

---

## File: _tools/notable.md

---
title: Notable
category: "notes"
icon: notable.png
website: https://notable.app
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "In addition to trailing whitespace, you can also use a trailing backslash or press the Return key once to achieve the same result."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs."
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: n
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: y
see-also:
  - name: Notable Markdown Cheatsheet
    link: https://notable.app/static/pdfs/cheatsheet.pdf
---

[Notable](https://notable.app) is a bare-bones note taking application with excellent Markdown support. Free for desktop use, Notable is designed for people who like to see Markdown-formatted text while they're typing. There's no live editor here. It's just you and raw text. You can click the Edit button to switch between the editor and preview screen — a handy feature when you're reading through your notes.

{% include image.html file="/assets/images/tools/notable.png" alt="Notable Markdown application" width="90" %}

One of Notable's best features, if you can call it that, is the lack of features. There's no need to create an account, and there's no synchronization feature. Some might see that as a limitation, but it does eliminate the possibility of your files being compromised on a third-party server.

But without a doubt, Notable's best feature is that it doesn't manipulate your Markdown files in any way — they're stored on your computer in the same format you see in Notable. If you decide later that you don't like Notable, you can take your Markdown files and do anything with them.  

The application uses the [markdown-it](https://github.com/markdown-it/markdown-it) Markdown processor.

{% include tool-syntax-table.html %}

---

## File: _tools/notenik.md

---
title: Notenik
category: "notes"
icon: notenik.png
website: https://notenik.app/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: n
  - id: footnotes
    available: y
  - id: heading-ids
    available: n
  - id: definition-lists
    available: y
  - id: strikethrough
    available: n
  - id: task-lists
    available: y
  - id: emoji-cp
    available: n
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: n
  - id: disabling-auto-url
    available: n
  - id: html
    available: y
---

Notenik is a free and open-source Mac app for taking and organizing notes using Markdown. It can be downloaded from the [Mac App Store](https://apps.apple.com/us/app/notenik/id1465997984). 

Notenik has a few distinguishing features in the increasingly crowded field of note-taking apps:

+ It is a native Mac app written entirely in Swift, and using AppKit
+ It has a very traditional Mac user interface
+ It is free and open-source
+ Notes are stored in plain text files
+ Notes can be stored in multiple collections (aka folders)
+ Collections/folders can be stored anywhere the user likes
+ Notenik supports multiple fields per note, and many different field types
+ The body of a note is always formatted using Markdown, but other fields (a teaser, for example) can also be formatted using Markdown
+ Notenik supports filtering, sorting, and merging of notes to create static websites
+ Support is provided for importing, exporting, and sharing notes using a wide variety of formats
+ Supports both MultiMarkdown metadata as well as YAML frontmatter 

The Collection window shows two tabs on the left, and another two on the right. On the left, the user can switch between a sorted list of all notes in the collection, and an outline of all notes, organized by tags. On the right, the user can switch between an edit view and a display view. 

All Notenik documentation is stored in the Notenik Knowledge Base, which is itself a Notenik Collection, and is always accessible from within Notenik (as well as from the [web](https://notenik.app/knowledge-base/EPUB/html/notenik-knowledge-base.html)).

{% include image.html file="/assets/images/tools/notenik.png" alt="The Notenik Knowledge Base opened in Notenik" %}

{% include tool-syntax-table.html %}

---

## File: _tools/noteshub.md

---
title: NotesHub
category: "notes"
icon: noteshub.png
website: https://noteshub.app
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: y
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: y
  - id: subscript
    available: y
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: n
  - id: html
    available: y
---

[NotesHub](https://noteshub.app) is a fully cross-platform, vendor-agnostic, Markdown-based note-taking app. With NotesHub your notes truly belong to you and are not tight to any particular vendor. All of your data is stored in Git repositories, so you can clone and manage it outside the app. In addition, you can use iCloud Drive to store and sync your notes across all of your Apple devices.

Use the power of Markdown to format your notes, and create tables, lists, images, diagrams, and more. Markdown will help keep your notes in the same style regardless of whether you copied text from the internet or wrote it from scratch. In addition to notes, you can create Kanban boards and use them as a tool to visualize your work and maximize your efficiency. This will help you to organize your time, focus on what matters, and achieve more.

{% include image.html file="/assets/images/tools/noteshub.png" alt="NotesHub" %}

{% include tool-syntax-table.html %}

---

## File: _tools/notion.md

---
title: Notion
category: "wiki"
icon: notion.png
website: https://www.notion.so
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "When copying and pasting Markdown-formatted text, you can also use a trailing backslash or press the Return key once to achieve the same result. When typing in Notion, press Shift-Return."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
    notes: 'Notion uses `|` or `"` to denote a blockquote, instead of the standard `>` (which creates a Toggle).'
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: p
    notes: "Copying and pasting Markdown-formatted links works, but you can't type them in Notion's editor. Use the `/link` slash command instead (only works for internal links to other pages in Notion)."
  - id: images
    available: p
    notes: "Copying and pasting Markdown-formatted images works, but you can't use that format in Notion's editor. Use the `/images` slash command instead, or paste the image directly."
  - id: tables
    available: p
    notes: "Copying and pasting Markdown-formatted tables works, but you can't type them in Notion's editor. Use the `/table` slash command instead."
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: p
    notes: "Must pick the programming language to highlight using the GUI."
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: p
    notes: "Uses only one tilde symbol before and after the phrase when typing. Conversely, only works for pasted content with two tildes."
  - id: task-lists
    available: y
    notes: "Copying and pasting Markdown-formatted task lists works. You can generate todo boxes with `[]` or use the `/todo` slash command instead."
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
    notes: "The second colon isn't needed. Type `:` followed by the name of the emoji e.g. `:fire`. Unavailable when copy-pasting into Notion."
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: n
  - id: html
    available: n
see-also:
  - name: Notion keyboard shortcuts
    link: https://www.notion.so/help/keyboard-shortcuts
---

[Notion](https://www.notion.so) is an innovative application that bills itself as an all-in-one knowledge management solution for individuals and teams. You could think of it as a note-taking app or a wiki, but those descriptions don't really do it justice. You really have to try it to get a sense of what it's capable of - Notion does offer a free pricing tier for single users for this purpose. Some organizations use Notion for project management and task tracking, among other things. The application also supports "databases": collections of documents with additional properties similar to YAML headers, but defined from the application GUI.

Notion has desktop and mobile apps available, as well as a web-based interface. You create an account for yourself and your organization — the accounts are used to sync everything with Notion's servers. Documents are stored remotely, requiring an internet connection to access and update. Limited offline editing is available, but only for documents you have already opened recently.

{% include image.html file="/assets/images/tools/notion.png" alt="Notion Markdown application" %}

Notion's Markdown support is hit or miss. Copying and pasting Markdown-formatted text into Notion generally works the way you'd expect, but using Notion's live editor to write using Markdown doesn't always work. You can, for instance, use asterisks to make text bold, but trying to use brackets to create a link or pipes to create a table doesn't work — which is strange considering that those syntax elements _do_ work when you copy and paste them in. It's also difficult to edit Markdown-formatted text that you've copied and pasted in Notion.

{% include tool-syntax-table.html %}

---

## File: _tools/obsidian.md

---
title: Obsidian
category: "notes"
icon: obsidian.png
website: https://obsidian.md/
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
    notes: "You can link to other notes in Obsidian by using the `[[file name]]` syntax."
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
    notes: "See the [list of supported languages](https://prismjs.com/#supported-languages)."
  - id: footnotes
    available: y
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: n
    notes: "The [`sub` HTML tag](/extended-syntax/#subscript) is supported."
  - id: superscript
    available: n
    notes: "The [`sup` HTML tag](/extended-syntax/#superscript) is supported."
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: p
    notes: "Some HTML is [sanitized](https://publish.obsidian.md/help/Advanced+topics/HTML+sanitization) for security purposes. Markdown inside HTML is frequently left un-parsed."
see-also:
  - name: Format your notes
    link: https://publish.obsidian.md/help/How+to/Format+your+notes
---

[Obsidian](https://obsidian.md/) is a relatively new entrant in the increasingly crowded Markdown knowledge base and note-taking market. Obsidian's excellent Markdown support and its simple, straightforward design makes it a standout application in the category. [Desktop](https://obsidian.md/download) and [mobile](https://obsidian.md/mobile) applications are available.

{% include image.html file="/assets/images/tools/obsidian.png" alt="Obsidian Markdown application" %}

Obsidian sports virtually all of the standard fare common to the other applications in this category, but it ups the ante by including a number of other features for power users. There's a visually-striking graph view that's a kind of "mind map" of all your files stored in Obsidian, a "Markdown format importer" that can find and replace certain Markdown syntax elements in your files, and support for [math](https://publish.obsidian.md/help/How+to/Format+your+notes) and [diagram](https://publish.obsidian.md/help/How+to/Format+your+notes) syntax. That really just scratches the surface of Obsidian's capabilities. Obsidian is extensible, and there are hundreds of free community plugins available within the application. 

Two other features are worth mentioning. Obsidian provides a simple way to publish notes to the internet, and it stores all of your files in plaintext Markdown files containing only the text you enter.

{% include tool-syntax-table.html %}

---

## File: _tools/outline.md

---
title: Outline
category: "wiki"
icon: outline.png
website: https://www.getoutline.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
    notes: "The Outline editor persists line breaks by default without extra syntax."
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: p
    notes: "You can't type them in Outline's editor. Use the `/table` slash command or block insert toolbar."
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: n
  - id: heading-ids
    available: p
    notes: "You can't type them in Outline's editor, but all headings are given a unique ID by default."
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: n
  - id: disabling-auto-url
    available: n
  - id: html
    available: n
see-also:
  - name: Open Source Editor
    link: https://github.com/outline/rich-markdown-editor
---

[Outline](https://www.getoutline.com) is a fast knowledge base and wiki designed for teams. Outline's live editor supports a wide variety of Markdown shortcuts. Documents created in the app are stored in Markdown format and can be exported as Markdown too, so you're never locked in.

Beyond Markdown, Outline supports a range of features such as structured organization of documents, search, read/write permissions, user groups, backlinking, public sharing, and more.

{% include image.html file="/assets/images/tools/outline.png" alt="Outline Screenshot" %}

Outline is offered as a hosted service, and is also available for self hosting as a docker container. The [source code is 
publicly available](https://github.com/outline/outline) on GitHub.

{% include tool-syntax-table.html %}

---

## File: _tools/reddit.md

---
title: Reddit
category: "website"
icon: reddit.png
website: https://www.reddit.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
    notes: "Lists must start with the number 1. You can use parens as the ending punctuation (i.e., `1)` instead of `1.`)."
  - id: unordered-lists
    available: p
    notes: "Cannot use plus signs (`+`)."
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
    notes: "Links can contain spaces."
  - id: images
    available: n
    notes: "Images are only supported in the rich text editor."
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: n
  - id: footnotes
    available: n
  - id: heading-ids
    available: p
    notes: "Automatically generated. There's no way to set custom heading IDs."
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: n
  - id: emoji-cp
    available: u
  - id: emoji-sc
    available: u
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: n
see-also:
  - name: Reddit-flavored Markdown
    link: https://www.reddit.com/wiki/markdown
---

With Markdown, [Reddit](https://www.reddit.com) text formatting is a breeze. All Reddit users have the option of writing comments and posts in Markdown. The popular news website has developed its own Markdown processor called "snoomark" which is based on GitHub-Flavored Markdown. Some have started referring to this as "Reddit-flavored Markdown." For a deep dive into Reddit's Markdown support, see [this wiki article](https://www.reddit.com/wiki/markdown).

### Enabling Markdown Support

By default, Reddit disables Markdown support for new posts and comments. You can switch from the rich text editor to Markdown by clicking the **Switch to markdown** link, as shown below.

{% include image.html file="/assets/images/tools/reddit.png" alt="Switching to Markdown on Reddit.com" width="80" %}

To permanently save this setting, you can enable the **Default to Markdown** setting in **User Settings** > **Feed Settings**. Enabling that setting will automatically enable Markdown for new posts or comments.

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Reddit provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Spoilers | `This text will be hidden: >!spoilers!<` |  |

---

## File: _tools/resumey-pro.md

---
title: Resumey.Pro
category: "resume-builder"
icon: resumey-pro.png
website: https://resumey.pro
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: n
  - id: ordered-lists
    available: n
  - id: unordered-lists
    available: y
  - id: code
    available: y
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: p
    notes: "Images are not automatically styled."
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: n
  - id: syntax-highlighting
    available: n
  - id: footnotes
    available: n
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: n
  - id: task-lists
    available: n
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: n
  - id: disabling-auto-url
    available: n
  - id: html
    available: n
---

[Resumey.Pro](https://resumey.pro) is a Markdown-based resume builder. Write the resume content in Markdown, try out various designs like Instagram filters, and then download as a PDF. The content editor supports `/` (slash) commands to quickly apply Markdown syntax. The resume designs also supports customizing accent color, font size, and spacing.

{% include image.html file="/assets/images/tools/resumey-pro.png" alt="Resumey.Pro Screenshot" %}

{% include tool-syntax-table.html %}

---

## File: _tools/simpleen.md

---
title: Simpleen
category: "translations"
icon: simpleen.png
website: https://simpleen.io
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: y
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: y
    notes: "Code examples are not getting translated on purpose."
  - id: horizontal-rules
    available: y
  - id: links
    available: p
    notes: "Additional title is not translated."
  - id: images
    available: p
    notes: "Title and alt-text are not translated."
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
    notes: "Code examples are not getting translated on purpose."
  - id: syntax-highlighting
    available: y
  - id: footnotes
    available: p
    notes: "Footnotes with `fn-1` instead of `^1`."
  - id: heading-ids
    available: y
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: y
  - id: highlight
    available: n
  - id: subscript
    available: n
  - id: superscript
    available: n
  - id: auto-url-linking
    available: n
  - id: disabling-auto-url
    available: n
  - id: html
    available: y
see-also:
  - name: Simpleen Markdown Translation Blogpost
    link: https://simpleen.io/blog/translate-markdown-files
---

[Simpleen](https://simpleen.io) is a localization tool to translate Markdown files that you can use directly via web app or API. You simply sign up on the Simpleen website, choose a pre-configured Markdown translator (or create a new one) and copy your Markdown files into the online translator. You get instant results that you can download. Translated segments are stored for future editing and access.

It supports CommonMark and GitHub Flavored Markdown (GFM) as well as your individual styles.

{% include image.html file="/assets/images/tools/simpleen.png" alt="Simpleen Markdown translation tool" %}

{% include tool-syntax-table.html %}

---

## File: _tools/simplenote.md

---
title: Simplenote
category: notes
icon: simplenote.png
website: https://simplenote.com
syntax:
  - id: headings
    available: y
  - id: paragraphs
    available: y
  - id: line-breaks
    available: y
  - id: bold
    available: y
  - id: italic
    available: p
    notes: "Underscores are not supported — they're used for underlining text."
  - id: blockquotes
    available: y
  - id: ordered-lists
    available: y
  - id: unordered-lists
    available: y
  - id: code
    available: p
    notes: "[Code blocks](/basic-syntax/#code-blocks) are not supported — use [fenced code blocks](/extended-syntax/#fenced-code-blocks) instead."
  - id: horizontal-rules
    available: y
  - id: links
    available: y
  - id: images
    available: y
  - id: tables
    available: y
  - id: fenced-code-blocks
    available: y
  - id: syntax-highlighting
    available: n
  - id: footnotes
    available: p
    notes: "iOS and macOS only"
  - id: heading-ids
    available: n
  - id: definition-lists
    available: n
  - id: strikethrough
    available: y
  - id: task-lists
    available: y
  - id: emoji-cp
    available: y
  - id: emoji-sc
    available: n
  - id: highlight
    available: y
  - id: subscript
    available: n
  - id: superscript
    available: y
  - id: auto-url-linking
    available: y
  - id: disabling-auto-url
    available: y
  - id: html
    available: n
see-also:
  - name: Simplenote Markdown support documentation
    link: https://simplenote.com/help/#markdown
---

[Simplenote](https://simplenote.com) is a basic note-taking application developed by Automattic, the same company that created WordPress. The application is free and available on every platform, including Linux. It's also [open source](https://simplenote.com/developers/). You can use Simplenote in your web browser.

After you download the application, you'll be prompted to create an account. That account is used to back up your notes to Automattic's servers and synchronize your notes across all of your other devices. Note that Automattic [doesn't encrypt your content](https://simplenote.com/help/#encryption) on their servers. You can't disable the synchronizing feature.

Export options are limited, but the *Publish to Web* feature allows you to share your notes on the internet with a public URL.

### Enabling Markdown Support

To enable Markdown support in Simplenote, create a note, click the Info icon, and then select **Markdown Formatted**.

{% include image.html file="/assets/images/tools/simplenote-markdown.png" alt="Enabling Markdown support in Simplenote" width="30" %}

The currently selected note and any new notes you create in the future will have this setting enabled automatically.

{% include tool-syntax-table.html %}

### Support for Additional Syntax Elements

As an added bonus, Simplenote provides support for several obscure elements.



| Element | Markdown | Rendered Output |
| --- | --- | --- |
| Underline | `_word or phrase_` | word or phrase |



### Previewing Markdown Documents

Simplenote doesn't use a live editor. You'll continue to see the Markdown-formatted text after you've typed it. To preview Markdown documents in Simplenote, click the Preview Markdown icon — it looks like an eye.

--- METRICS ---
- Files Extracted: 105
- Estimated Token Budget: ~64058 tokens
- Recency Window: Active (< 180 days)
- Canonical Reference: https://codewiki.google/github.com/mattcone/markdown-guide
