마크다운 치트 시트 — 실시간 미리보기가 있는 문법 정리
모든 마크다운 요소를 소스와 렌더링 결과로 보여 주고, 확장 문법(표, 작업 목록, 각주, 수식, Mermaid, 알림), 9개 플랫폼 호환성 표, 실시간 플레이그라운드까지 제공합니다.
마지막 확인: 2026-10-18, CommonMark 0.31.2, GFM 사양, GitHub·GitLab·Obsidian·Slack·Jira 서식 문서 기준. 출처: CommonMark spec 0.31.2, GitHub Flavored Markdown spec, GitHub writing and formatting docs, GitLab Flavored Markdown, Obsidian help, Slack message formatting, Jira text formatting notation.
기본 문법 (CommonMark를 지원하는 모든 곳에서 작동)
이 요소들은 CommonMark 사양에 포함되어 있어 GitHub, GitLab, VS Code, Obsidian, 정적 사이트 생성기, 대부분의 문서 도구에서 똑같이 작동합니다.
# 1~6개 뒤에 공백을 넣습니다. 문서당 # 제목은 하나만 쓰고 단계를 건너뛰지 마세요. 스크린 리더와 목차가 이 순서에 의존합니다.
# Heading 1 ## Heading 2 ### Heading 3 #### Heading 4
예전 "setext" 방식으로 1단계와 2단계만 있습니다. 문단 아래에 --- 줄을 넣으면 제목이 되므로 가로줄을 기대한 사람은 놀랄 수 있습니다. --- 앞에는 빈 줄을 두세요.
Heading 1 ========= Heading 2 ---------
빈 줄로 문단을 구분합니다. 문단 안의 줄바꿈 하나는 한 줄로 합쳐집니다(줄바꿈 항목에 적힌 예외 제외).
First paragraph, which can wrap across several source lines. Second paragraph after a blank line.
First paragraph, which can wrap across several source lines.
Second paragraph after a blank line.
새 문단 없이 줄을 바꾸려면 줄 끝에 공백 두 개나 백슬래시를 넣으세요. GitHub 댓글, Obsidian(기본값), Slack, Discord는 모든 줄바꿈을 그대로 줄바꿈으로 처리합니다.
Two trailing spaces make a break. A trailing backslash\ works too.<br>So does an HTML br.
Two trailing spaces
make a break.
A trailing backslash
works too.
So does an HTML br.
별표는 단어 안에서도 작동하지만 밑줄은 작동하지 않습니다(snake_case_names는 그대로 유지). 그래서 대부분의 스타일 가이드는 *를 권장합니다.
**bold** or __bold__ *italic* or _italic_ ***bold italic*** in**side**word works with *, not with _
bold or bold
italic or italic
bold italic
insideword works with *, not with _
각 줄을 >로 시작합니다. 인용문 안에는 목록과 코드를 포함해 어떤 마크다운이든 넣을 수 있습니다.
> Quoted text. > Still quoted. > > > Nested quote.
Quoted text. Still quoted.
Nested quote.
-, *, + 모두 작동하지만 한 목록 안에서 섞어 쓰지 마세요(다른 기호를 쓰면 새 목록이 시작됨).
- Item - Item - Nested (indent 2 spaces) - Item
- Item
- Item
- Nested (indent 2 spaces)
- Item
첫 번호가 시작 번호가 되고 이후 번호는 무시됩니다. 그래서 모든 줄에 "1."을 쓰면 항목 순서를 바꿔도 번호가 자동으로 매겨집니다.
1. First 1. Second 1. Third 3. Starts at three 4. Four
First
Second
Third
Starts at three
Four
추가 내용은 항목 텍스트의 첫 글자에 맞춰 들여 쓰세요("1. " 뒤라면 공백 3개).
1. Install: ```sh npm install marked ``` 2. Indent continuation lines to the item text.
Install:
npm install markedIndent continuation lines to the item text.
백틱 안의 마크다운은 해석되지 않습니다.
Run `npm test` now. Use ``double `backticks` `` when the code contains one.
Run npm test now.
Use double `backticks` when the code contains one.
백틱 세 개(또는 ~~~)를 각각 한 줄에 씁니다. 펜스 뒤의 단어는 언어 이름으로, GitHub, GitLab, Obsidian, Discord에서 구문 강조에 쓰입니다.
```js const answer = 42; console.log(answer); ```
const answer = 42;
console.log(answer);
원래의 문법입니다. 펜스가 더 명확하고 언어도 지정할 수 있지만, 구 Reddit은 들여쓰기 코드만 인식합니다.
Paragraph.
four spaces of indent
make a code blockParagraph.
four spaces of indent
make a code block
-, *, _를 세 개 이상 한 줄에 단독으로 쓰고, 위에 빈 줄을 둡니다.
Above --- Below (also *** or ___)
Above
Below (also *** or ___)
꺾쇠괄호 형식은 CommonMark의 자동 링크입니다. URL의 공백은 %20으로 쓰거나 URL을 <…>로 감싸야 합니다.
[Link text](https://freetoolsforweb.com) [With a title](https://freetoolsforweb.com "Hover text") [Relative link](/tools/regex-cheat-sheet) <https://example.com>
긴 URL을 본문에서 분리합니다. 정의는 문서 어디에 두어도 되며 화면에 표시되지 않습니다.
GitHub와 GitLab에서는 모든 제목에 자동 ID가 붙습니다. 소문자로 바꾸고 공백은 하이픈으로, 문장 부호는 제거합니다("## Install & Run"은 #install--run). Obsidian은 대신 [[#제목]]을 사용합니다.
[Jump to tables](#md-tables)
링크 앞에 !를 붙인 형태입니다. [ ] 안의 텍스트는 대체 텍스트로, 이미지를 볼 수 없는 사람을 위해 이미지를 설명하세요. 마크다운에는 크기 지정 문법이 없으므로 HTML이 허용되는 곳에서는 HTML <img width="200">을 사용하세요.
백슬래시를 붙이면 ASCII 문장 부호를 그대로 표시합니다: \ ` * _ { } [ ] ( ) # + - . ! |
\*not italic\* \# not a heading 1\. not a list
*not italic* # not a heading 1. not a list
CommonMark에서 허용됩니다. GitHub와 GitLab은 안전한 일부만 유지하고(script, style, 이벤트 핸들러 제외), Slack, Discord, Reddit, Notion은 텍스트로 표시합니다.
Press <kbd>Ctrl</kbd> + <kbd>C</kbd>, H<sub>2</sub>O, x<sup>2</sup>.
Press Ctrl + C, H2O, x2.
HTML 주석은 소스에는 남지만 HTML이 허용되는 곳에서는 화면에 표시되지 않습니다.
Visible. <!-- Not rendered: notes for editors --> Also visible.
Visible.
Also visible.
확장 문법 (GFM 등)
CommonMark에 포함되지 않습니다. 지원 여부가 제각각이므로 GitHub 밖에서 쓰기 전에 호환성 표를 확인하세요.
두 번째 줄은 필수이며 콜론으로 정렬을 지정합니다. 소스에서 열을 맞출 필요는 없습니다. 파이프 문자는 \|로 이스케이프하세요. 셀 병합이나 여러 줄 셀은 없습니다(GitHub에서는 셀 안에 <br> 사용).
지원: GFM, GitLab, Obsidian, Reddit, Notion(붙여 넣을 때)
| Left | Centre | Right | | :--- | :----: | ----: | | a | b | 1 | | `c` | **d** | 22 |
| Left | Centre | Right |
|---|---|---|
| a | b | 1 |
c |
d | 22 |
GitHub와 GitLab의 이슈 및 풀 리퀘스트에서는 체크박스를 클릭할 수 있으며 소스도 함께 업데이트됩니다.
지원: GFM, GitLab, Obsidian, Notion([] 단축 입력)
- [x] Write the draft - [ ] Review - [ ] Publish
- Write the draft
- Review
- Publish
어디서나 물결표 두 개를 쓰며, GitHub는 하나도 허용합니다. Slack은 ~물결표 하나~, Jira는 -하이픈-을 사용합니다.
지원: GFM, GitLab, Obsidian, Discord, Reddit, Notion
~~no longer true~~
no longer true
GFM은 URL과 www. 주소를 그대로 링크로 바꿉니다. 일반 CommonMark에서는 <…>로 감싸지 않으면 텍스트로 남습니다.
지원: GFM, GitLab, Obsidian, Slack, Discord, Reddit
Visit https://freetoolsforweb.com or www.example.com.
Visit https://freetoolsforweb.com or www.example.com.
정의는 어디에나 둘 수 있으며, 각주는 참조 순서대로 번호가 매겨져 끝에 나열됩니다. Obsidian에는 인라인 각주 ^[이렇게]도 있습니다.
지원: GFM, GitLab, Obsidian (CommonMark 아님)
앵커를 직접 지정합니다. Pandoc, PHP Markdown Extra, Hugo, Jekyll(kramdown), MkDocs, Docusaurus에서 지원합니다. GitHub와 GitLab은 이를 무시하고 중괄호를 그대로 표시하며 자동 ID를 사용합니다.
지원: Pandoc, Hugo, Jekyll, MkDocs, Docusaurus (GitHub, GitLab 제외)
### Install {#setup}Rendered by Pandoc, Hugo or kramdown with id="setup", so /page#setup links here.
이름을 콜론으로 감쌉니다. GitHub, Slack, Discord, Notion에서 콜론을 입력하면 이모지 선택기가 열립니다. 이모지 자체를 붙여 넣으면 어디서나 작동합니다.
지원: GitHub, GitLab, Slack, Discord (Obsidian(플러그인 없이)과 CommonMark 제외)
Ship it :rocket: :+1: :tada:
Ship it 🚀 👍 🎉
인라인은 $ 기호 사이에, 디스플레이 블록은 $$ 사이에 TeX를 씁니다. GitHub는 $`…`$와 ```math 블록도 지원하며 GitLab도 같은 형식을 지원합니다. Notion은 인라인 수식에 $$…$$를 사용합니다.
지원: GitHub, GitLab, Obsidian, Notion(자체 문법)
Inline: $E = mc^2$
$$
\sum_{i=1}^{n} i = \frac{n(n+1)}{2}
$$Inline: E = mc2
∑i=1n i = n(n+1) ⁄ 2
언어를 mermaid로 지정한 코드 블록은 다이어그램이 됩니다. 순서도, 시퀀스, 클래스, 상태, 간트, ER 다이어그램을 그릴 수 있습니다.
지원: GitHub, GitLab, Obsidian, Notion(Mermaid 코드 블록)
```mermaid
flowchart LR
A[Write] --> B{Review}
B -->|ok| C[Publish]
B -->|changes| A
```(changes loop back to Write)
GitHub에는 NOTE, TIP, IMPORTANT, WARNING, CAUTION 다섯 가지 유형이 있습니다. GitLab(17.10 이상)도 같은 문법을 지원합니다. Obsidian은 유형이 훨씬 많고 사용자 지정 제목(> [!tip] 제목)과 접기(> [!faq]-)를 지원합니다.
지원: GitHub, GitLab 17.10 이상, Obsidian, 그 밖에서는 일반 인용문
> [!NOTE] > Useful information. > [!WARNING] > Critical content that needs attention.
Useful information.
Critical content that needs attention.
HTML이지만 널리 지원됩니다. 안쪽 마크다운 앞뒤에 빈 줄을 두지 않으면 해석되지 않습니다.
지원: GitHub, GitLab, Obsidian, 대부분의 정적 사이트 생성기
<details> <summary>Click to expand</summary> Hidden **Markdown** content. </details>
Click to expand
Hidden Markdown content.
Obsidian과 일부 편집기(Typora, iA Writer)에서 지원하며, GitHub에서는 등호가 그대로 표시됩니다. HTML이 허용되는 곳에서는 <mark>를 사용하세요.
지원: Obsidian, Typora (GitHub 제외)
This is ==highlighted== text.
This is highlighted text.
호환성: CommonMark, GitHub, GitLab, Obsidian, Notion, Slack, Discord, Reddit, Jira
✓ 작성한 그대로 작동 · ~ 다른 문법으로 또는 일부만 작동(참고 확인) · ✗ 사용 불가. Notion과 Slack 입력창은 마크다운 파일을 렌더링하는 대신 입력하는 동안 마크다운 단축 입력을 변환합니다. Jira Data Center 필드는 위키 마크업을 사용하고, Jira Cloud 편집기는 입력 중 마크다운 스타일 단축 입력을 지원합니다.
| 기능 | CommonMark | GitHub (GFM) | GitLab | Obsidian | Notion | Slack (mrkdwn) | Discord | Jira wiki | |
|---|---|---|---|---|---|---|---|---|---|
| 제목 # | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 입력 중 # , ## , ### 단축 입력 | ✗ 아니요 *굵은* 줄로 대체 | ~ 부분 지원 / 다른 문법 #, ##, ###만 | ✓ 예 | ~ 부분 지원 / 다른 문법 h1.~h6. |
| 굵게 / 기울임꼴 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 *굵게*와 _기울임_ (기호 하나) | ✓ 예 __밑줄__도 지원 | ✓ 예 | ~ 부분 지원 / 다른 문법 *굵게*와 _기울임_ |
| 취소선 | ✗ 아니요 | ✓ 예 ~~ 또는 ~ | ✓ 예 | ✓ 예 | ✓ 예 ~텍스트~ 또는 ~~텍스트~~ | ~ 부분 지원 / 다른 문법 ~텍스트~ | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 -텍스트- |
| 인라인 코드 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 {{monospace}} |
| 펜스 코드 블록 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 ``` 작동, 언어별 강조 없음 | ✓ 예 | ~ 부분 지원 / 다른 문법 새 Reddit과 앱에서 지원, old.reddit은 공백 4칸 들여쓰기 필요 | ~ 부분 지원 / 다른 문법 {code:java} … {code} |
| 구문 강조 | ~ 부분 지원 / 다른 문법 언어는 렌더러에 전달되며 강조 여부는 렌더러에 달려 있음 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 블록에서 언어 선택 | ✗ 아니요 | ✓ 예 | ✗ 아니요 | ✓ 예 {code:language} |
| 인용문 > | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 " 다음 공백 입력, > 다음 공백은 토글 생성 | ✓ 예 | ✓ 예 >>>는 메시지 나머지 전체를 인용 | ✓ 예 | ~ 부분 지원 / 다른 문법 bq. 또는 {quote} … {quote} |
| 목록 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 입력창에서 "- "를 목록으로 변환, API mrkdwn에는 목록 문법 없음 | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 * 글머리 기호, # 번호, **로 중첩 |
| 링크 [텍스트](url) | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 [[위키링크]]도 지원 | ~ 부분 지원 / 다른 문법 붙여 넣을 때 변환 | ~ 부분 지원 / 다른 문법 API 메시지에서는 <https://url|text> | ✓ 예 마스크 링크 | ✓ 예 | ~ 부분 지원 / 다른 문법 [텍스트|https://url] |
| URL 자동 링크 | ~ 부분 지원 / 다른 문법 <https://…>만 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 |
| 이미지  | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 ![[file.png]]도 지원 | ~ 부분 지원 / 다른 문법 가져오거나 붙여 넣을 때 | ✗ 아니요 대신 업로드 | ✗ 아니요 첨부하거나 링크 붙여 넣기 | ✗ 아니요 편집기에서 업로드 | ~ 부분 지원 / 다른 문법 !image.png! |
| 표 | ✗ 아니요 | ✓ 예 | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 붙여 넣은 마크다운 표는 단순 표로 변환 | ✗ 아니요 | ✗ 아니요 | ✓ 예 | ~ 부분 지원 / 다른 문법 ||head|| 및 |cell| |
| 작업 목록 | ✗ 아니요 | ✓ 예 | ✓ 예 해당 없음을 뜻하는 [~]도 지원 | ✓ 예 | ~ 부분 지원 / 다른 문법 [] 다음 공백으로 할 일 생성 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 |
| 각주 | ✗ 아니요 | ✓ 예 | ✓ 예 | ✓ 예 인라인 ^[note]도 지원 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 |
| 제목 앵커 | ✗ 아니요 | ~ 부분 지원 / 다른 문법 자동만, {#id} 없음 | ~ 부분 지원 / 다른 문법 자동만 | ~ 부분 지원 / 다른 문법 [[#제목]]으로 링크 | ~ 부분 지원 / 다른 문법 대신 블록 링크 복사 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 | ~ 부분 지원 / 다른 문법 {anchor:name} |
| 이모지 단축 코드 :smile: | ✗ 아니요 | ✓ 예 | ✓ 예 | ✗ 아니요 플러그인 필요 | ~ 부분 지원 / 다른 문법 : 입력 시 선택기 열림 | ✓ 예 | ✓ 예 | ✗ 아니요 | ~ 부분 지원 / 다른 문법 :) :D (y) 같은 텍스트 이모티콘 |
| 수식 $…$ | ✗ 아니요 | ✓ 예 | ✓ 예 | ✓ 예 | ~ 부분 지원 / 다른 문법 인라인은 $$…$$, 블록은 /equation | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 |
| Mermaid 다이어그램 | ✗ 아니요 | ✓ 예 | ✓ 예 | ✓ 예 | ✓ 예 Mermaid로 지정한 코드 블록 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 Marketplace 앱 필요 |
| 콜아웃 > [!NOTE] | ✗ 아니요 | ✓ 예 5가지 유형 | ✓ 예 17.10+ | ✓ 예 다양한 유형, 접기 가능 | ✗ 아니요 /callout 사용 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 | ~ 부분 지원 / 다른 문법 {panel} … {panel} |
| 원시 HTML | ✓ 예 | ~ 부분 지원 / 다른 문법 안전한 일부만, script·style·iframe 불가 | ~ 부분 지원 / 다른 문법 안전한 일부만 | ~ 부분 지원 / 다른 문법 정제된 일부만 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 | ✗ 아니요 |
| 줄바꿈 하나 = 줄바꿈 | ✗ 아니요 줄 끝 공백 두 개 또는 \ | ~ 부분 지원 / 다른 문법 댓글에서는 예, .md 파일에서는 아니요 | ~ 부분 지원 / 다른 문법 댓글에서는 예, 파일에서는 아니요 | ~ 부분 지원 / 다른 문법 "엄격한 줄바꿈"이 꺼져 있으면 예 | ✓ 예 블록 안에서 Shift+Enter | ✓ 예 | ✓ 예 | ✗ 아니요 줄 끝 공백 두 개 | ~ 부분 지원 / 다른 문법 줄바꿈 예, \\로 강제 줄바꿈 |
같은 서식, 다른 문법
도구 사이에 붙여 넣을 때 자주 헷갈리는 조합입니다. Slack과 Jira는 굵게 표시에 * 하나를 쓰고, Slack 링크는 URL이 먼저 옵니다.
| 요소 | Markdown / GFM | Slack mrkdwn | Discord | Jira wiki | |
|---|---|---|---|---|---|
| 굵게 | **bold** | *bold* | **bold** | **bold** | *bold* |
| 기울임꼴 | *italic* | _italic_ | *italic* | *italic* | _italic_ |
| 취소선 | ~~text~~ | ~text~ | ~~text~~ | ~~text~~ | -text- |
| 밑줄 | (없음, HTML에서는 <ins>) | (없음) | __text__ | (없음) | +text+ |
| 인라인 코드 | `code` | `code` | `code` | `code` | {{code}} |
| 코드 블록 | ```js … ``` | ``` … ``` | ```js … ``` | 4-space indent | {code:js} … {code} |
| 링크 | [text](https://url) | <https://url|text> | [text](https://url) | [text](https://url) | [text|https://url] |
| 제목 | ## Title | (없음) | ## Title | ## Title | h2. Title |
| 인용 | > text | > text | > text | > text | bq. text |
| 글머리 기호 목록 | - item | • item (typed) | - item | - item | * item |
| 번호 목록 | 1. item | 1. item (typed) | 1. item | 1. item | # item |
| 스포일러 | <details> (HTML) | (없음) | ||text|| | >!text!< | (없음) |
마크다운 플레이그라운드
미리보기와 플레이그라운드는 브라우저에서 렌더링되며, 입력한 내용은 어디에도 전송되지 않습니다. 모든 무료 도구 보기.
문제를 발견하셨거나 개선할 점이 있나요? 모든 메시지를 읽고 빠르게 고칩니다.
이 마크다운 치트 시트는 모든 요소를 두 번 보여 줍니다. 입력하는 마크다운과 렌더링 결과를 나란히 보여 주므로, 소스를 복사하면서 어떤 결과가 나올지 알 수 있습니다. 기본 문법(제목, 강조, 목록, 링크, 이미지, 코드)이 먼저 나오고, 그다음 GitHub에서 대부분의 사람이 실제로 필요로 하는 확장 문법인 표, 작업 목록, 취소선, 각주, 알림, 수식, Mermaid 다이어그램이 나옵니다.
마크다운은 하나의 언어가 아닙니다. CommonMark가 핵심을 정의하고, GitHub와 GitLab이 자체 확장을 더하며, Obsidian과 Notion이 또 더합니다. Slack, Discord, Reddit, Jira는 각자 규칙이 다른 마크다운 비슷한 문법을 씁니다. 예를 들어 Slack과 Jira에서는 *별표 하나*가 굵게입니다. 호환성 표는 어디서 무엇이 작동하는지 보여 주고, 변환표는 채팅·이슈 관리 도구별 정확한 문법을 알려 줍니다. 미리보기는 오픈 소스 marked 라이브러리(CommonMark + GFM)로 렌더링하며, 이 라이브러리가 구현하지 않은 기능은 GitHub나 Obsidian에서 어떻게 표시되는지 보여 줍니다. 마지막의 작은 플레이그라운드는 입력한 내용을 브라우저에서 렌더링합니다.
사용 방법
- 요소(표, 체크박스, 각주, 줄바꿈)를 검색하거나 위쪽의 칩으로 섹션으로 이동하세요.
- 카드 왼쪽의 마크다운을 복사하세요. 오른쪽은 렌더링 결과입니다.
- GitHub 밖에서 확장 문법을 쓰기 전에는 호환성 표를, Slack, Discord, Reddit, Jira에 붙여 넣을 때는 변환표를 확인하세요.
- 플레이그라운드에 직접 텍스트를 붙여 넣어 미리 본 다음 HTML을 복사하거나 .md 파일을 다운로드하세요.
자주 묻는 질문
마크다운에서 표는 어떻게 만드나요?
파이프로 머리글 행을 쓰고, 대시로 구분선 행을 쓴 뒤, 데이터 행을 씁니다: | Name | Age |, 그다음 | --- | --- |, 그다음 | Ana | 31 |. 구분선의 콜론으로 정렬을 지정합니다(:--- 왼쪽, :---: 가운데, ---: 오른쪽). 표는 GitHub Flavored Markdown 확장으로, GitHub, GitLab, Obsidian, Reddit과 대부분의 편집기에서 지원되지만 순수 CommonMark, Slack, Discord에서는 지원되지 않습니다.
새 문단을 시작하지 않고 줄을 바꾸려면 어떻게 하나요?
줄 끝에 공백 두 개나 백슬래시를 넣거나, HTML을 쓸 수 있는 곳에서는 <br>을 쓰세요. 그렇지 않으면 CommonMark와 GitHub .md 파일에서는 줄바꿈 하나가 같은 문단으로 합쳐집니다. GitHub 댓글, Obsidian(기본값), Slack, Discord는 모든 줄바꿈을 줄바꿈으로 처리하므로, 같은 텍스트가 README와 이슈에서 다르게 보일 수 있습니다.
CommonMark와 GitHub Flavored Markdown의 차이는 무엇인가요?
CommonMark는 원래 마크다운 문법을 정확하게 정의한 사양입니다. GitHub Flavored Markdown(GFM)은 그 엄격한 상위 집합으로, 표, 작업 목록, 취소선, 확장 자동 링크, 안전하지 않은 HTML 필터를 추가합니다. github.com에서는 각주, 알림, 수식, Mermaid 다이어그램, 이모지 단축 코드가 GitHub 자체 처리로 GFM 위에 더해집니다.
마크다운으로 체크박스나 할 일 목록은 어떻게 쓰나요?
미완료 작업은 [ ], 완료한 작업은 [x]로 시작하는 목록 항목을 쓰세요: - [ ] Review, - [x] Write draft. GitHub와 GitLab은 이슈와 풀 리퀘스트에서 클릭할 수 있는 체크박스로 렌더링하고, Obsidian은 읽기 보기에서 전환할 수 있으며, GitLab은 해당 없는 작업을 위한 [~]도 받아들입니다.
Slack은 마크다운을 지원하나요?
부분적으로 지원하며 mrkdwn이라는 자체 규칙을 씁니다. 별표 하나로 *굵게*, _기울임_, 물결표 하나로 ~취소선~, `코드`와 ``` 코드 블록, > 인용, 그리고 API로 보내는 메시지에서는 <https://url|text> 형식의 링크입니다. 제목, 표, 이미지는 없습니다. Slack 메시지 입력창은 입력하는 대로 일부 서식을 변환하기도 하며, Block Kit에는 표준 마크다운을 받는 별도의 markdown 블록이 있습니다.
마크다운에서 각주는 어떻게 추가하나요?
참조할 위치에 [^1]을 넣고, 문서 어디서든 별도 줄에 정의하세요: [^1]: The source. GitHub, GitLab, Obsidian은 사용 순서대로 각주에 번호를 매기고 맨 아래에 되돌아가기 링크와 함께 나열합니다. CommonMark, Slack, Discord, Reddit, Notion에는 각주가 없습니다.
어디서나 똑같이 렌더링되는 마크다운 작성법
• 제목, 목록, 코드 블록, 표, HTML 블록 앞뒤에 빈 줄을 두세요. “왜 렌더링이 안 되지?” 문제의 상당수가 빈 줄 누락입니다.
• 들여쓰기보다 언어를 지정한 펜스 코드 블록(```python)을 쓰세요. 더 명확하고 구문 강조도 됩니다.
• 강조에는 _보다 *를 쓰세요. 단어 안의 밑줄(snake_case_names)을 CommonMark는 그대로 두지만 오래된 렌더러는 다르게 처리합니다.
• 목록마다 글머리 기호 문자를 하나만 쓰세요. -에서 *로 바꾸면 새 목록이 시작됩니다.
• 중첩 목록 내용은 고정된 2칸이나 4칸이 아니라 상위 항목의 텍스트 시작 위치에 맞춰 들여 쓰세요.
• 모든 이미지에 대체 텍스트를 쓰세요. 이미지를 불러오지 못할 때 표시되고 화면 낭독기가 읽어 줍니다.
GitHub README 필수 사항
GitHub는 루트, docs/, .github/에 있는 README.md를 렌더링합니다. 제목에는 자동으로 앵커가 생기고 GitHub가 이를 바탕으로 목차(파일 보기의 개요 버튼)를 만들므로, 명확한 제목 구조가 곧 목차입니다. 상대 링크와 이미지(./docs/setup.md, ./images/demo.png)는 절대 URL과 달리 github.com에서 작동하고 포크와 다른 브랜치에서도 계속 작동합니다.
알림(> [!NOTE], > [!WARNING])은 설치 시 주의 사항을 눈에 띄게 하고, Mermaid 코드 블록은 편집 가능한 아키텍처 다이어그램을 그리며, <details>는 전체 설정 레퍼런스 같은 긴 섹션을 접어 둡니다. 첫 화면에는 프로젝트가 무엇인지, 어떻게 설치하는지, 최소한의 예제만 두고 나머지는 그 아래에 두세요.
관련 무료 도구
- ChatGPT Word 변환 — ChatGPT, Claude, Gemini의 답변을 붙여 넣으면 ** 와 # 대신 진짜 제목, 표, 목록이 살아 있는 상태로 Word, Google Docs, 이메일에 복사할 수 있습니다.
- 단어·글자 수 세기 — 입력하는 대로 단어, 글자, 문장 수와 읽는 시간을 세고, X, LinkedIn, Instagram, YouTube, SEO, SMS 제한도 확인하세요.
- Git 치트 시트 — 마지막 커밋 취소, 브랜치 이름 변경, 원격 브랜치 삭제처럼 하려는 작업별로 정리한 Git 명령어. 최신 switch/restore와 기존 명령어, 위험 배지까지 함께 보여 줍니다.
- 정규식 치트 시트 — 모든 정규 표현식 토큰을 실제로 작동하는 예제와 함께, JavaScript, PCRE/PHP, Python, Go, Java, .NET 지원 여부까지 정리했습니다. 사용해 보기 링크를 누르면 정규식 테스터가 미리 채워진 상태로 열립니다.
- 텍스트 비교 (Diff) — 텍스트, 코드, JSON 파일의 두 버전을 비교해 정확히 어떤 줄, 단어, 문자가 바뀌었는지 확인하세요.