Skip to main content
Using Markdown

Learn how to use Markdown syntax

Updated over a year ago

HackerOne supports Markdown syntax on reports, profiles, and security pages.

Headers

Markdown Input:

A First Level Header
=====================
A Second Level Header
---------------------
### Header 3

Output:

headers

Block Quotes

Markdown Input:

>text in blockquote 
>more text in blockquote

Output:

blockquotes

Text Emphasis

Markdown Input:

*This text is italicized*
**This text is bold**
~~This text is deleted~~
==This text is highlighted==

Output:

text emphasis output

Lists

Unordered Lists

Markdown Input:

* Candy.
* Gum.
* Juice.

this:

+ Candy. 
+ Gum.
+ Juice.

and this:

- Candy 
- Gum.
- Juice.

Output:

unordered list

Numbered Lists

Markdown Input:

1. Red 
2. Green
3. Blue

and this:

1. Red 
1. Green
1. Blue

Output:

ordered list

If you put blank lines between items, you’ll get <p> tags for the list item text. You can create multi-paragraph list items by indenting the paragraphs 4 spaces or 1 tab.

Markdown Input:

* A list item. 
With multiple paragraphs.
* Another item in the list.

Output:

multiple

Links

Markdown supports two styles for creating links: inline and reference. With both styles, you use square brackets to delimit the text you want to turn into a link.

Inline-style links use parentheses immediately after the link text.

Markdown Input:

This is an [example link](http://example.com/).

Output:

link

Reference-style links allow you to refer to your links by names, which you define elsewhere in your document.

Markdown Input:

I get 10 times more traffic from [Google][1] than from [Yahoo][2] or [MSN][3].
[1]: http://google.com/
[2]: http://search.yahoo.com/
[3]: http://search.msn.com/

Output:

multiple links

Link names may contain letters, numbers, and spaces, but are not case-sensitive.

Markdown Input:

I start my morning with a cup of coffee and
[The New York Times][NY Times].

[ny times]: http://www.nytimes.com/

Output:

ny times link

Links to section headings can be made as well. Every heading will get an ID based on the heading content and will be prefixed with user-content-.

A link can be made to a heading using the following markdown:

# Table of contents
* [Introduction](#user-content-introduction)
* [Another section](#user-content-another-section)
* [Credits](#user-content-credits)

# Introduction
Text would go here.

# Another section
Some more text would go here.

# Credits
And the credits would go here.

Email Links

You don't need to use markdown to create a mailto: link. Simply enter the email as is and it will automatically be converted to a mailto: link.

Code

In a regular paragraph, you can create code span by wrapping text in backtick quotes. Any ampersands (&) and angle brackets (< or >) will automatically be translated into HTML entities. This makes it easy to use Markdown to write HTML example code.

Markdown Input:

The text has sample `code`

Output:

code

To specify an entire block of pre-formatted code, wrap the text within 3 backtick quotes ```. Just like with code spans, &, <, and > characters will be escaped automatically.

Markdown Input:

codeblock input

Output:

codeblock output

To use syntax highlighting, specify the content type after the three opening backtick quotes.

Markdown Input:

markdown code syntax

Output:

markdown code syntax

User Mentions

You can mention a user by prefixing the username with the "@" symbol.

Markdown Input:

@demo-member reported the issue.

Output:

markdown user mention

Report Reference

You can reference a report by prefixing the report ID with the "#" symbol.

Markdown Input:

#105887 is a publicly disclosed bug.

Output:

markdown report reference

Auto-Linked References

CVE IDs, CWE IDs, and CAPEC IDs are automatically linked to MITRE.

Markdown Input:

CVE-2011-0242 could perhaps be categorized as CWE-79 of CAPEC-63.

Output:

autolinking references to MITRE

Attachment References

You can reference an attachment while writing reports, comments in reports, and report summaries. You can do this by writing "F" followed by attachment id (F). The attachment ID is displayed before the attachment name once the upload is successful.

Example: Consider a user creating a report and uploading an attachment. Once the attachment is uploaded successfully, you will see the reference ID with the attachment name.

markdown-1

Now you can reference the attachment in the report by writing "F1", and the attachment is referenced in the report as shown below.

markdown-2

Inline Images and Video

You can inline images and videos in the report description, comments, and report summary by writing the attachment reference ID within curly braces (as in {F:id}).

Example: For the above attachment:

Markdown Input:

{F1}

Output:

markdown-4

Organizing Information with Tables

Adapted from Github

Creating a Table

You can create tables with pipes | and hyphens -. Hyphens create each column's header, while pipes separate each column. You must include a blank line before your table for it to render correctly.

Markdown Input:

| First Header | Second Header |
| ------------- | ------------- |
| Content Cell | Content Cell |
| Content Cell | Content Cell |

Output:

Screenshot of a Markdown table with two columns of equal width as rendered on GitHub. Headers render in boldface, and alternate content rows have gray shading.

The pipes on either end of the table are optional.

Cells can vary in width and do not need to be perfectly aligned within columns. There must be at least three hyphens in each column of the header row.

Markdown Input:

| Command | Description |
| --- | --- |
| git status | List all new or modified files |
| git diff | Show file differences that haven't been staged |

Output:

Screenshot of a Markdown table with two columns of differing width as rendered on GitHub. Rows list the commands "git status" and "git diff" and their descriptions.

If you frequently edit code snippets and tables, you may benefit from enabling a fixed-width font in all comment fields on GitHub. For more information, see "."About writing and formatting on GitHub

Formatting Content within Your Table

You can use links, inline code blocks, and text styling within your table formatting.

Markdown Input:

| Command | Description |
| --- | --- |
| `git status` | List all *new or modified* files |
| `git diff` | Show file differences that **haven't been** staged |

Output:

Screenshot of a Markdown table with two columns of differing width as rendered on GitHub. The commands "git status" and "git diff" are formatting as code blocks.

You can align text to the left, right, or center of a column by including colons : to the left, right, or both sides of the hyphens within the header row.

Markdown Input:

| Left-aligned | Center-aligned | Right-aligned |
| :--- | :---: | ---: |
| git status | git status | git status |
| git diff | git diff | git diff |

Output:

Screenshot of a Markdown table with three columns as rendered on GitHub, showing how text within cells can be set to align left, center, or right.

To include a pipe | as content within your cell, use a \ before the pipe.

Markdown Input:

| Name | Character |
| --- | --- |
| Backtick | ` |
| Pipe | \| |

Output:

Screenshot of a Markdown table as rendered on GitHub showing how pipes, which normally close cells, can display inside cells when prefaced by a backslash.

Did this answer your question?