Menu
Coddy logo textTech

마크다운 문법 치트시트

마지막 업데이트

제목

# 기호 뒤에 공백을 한 칸 넣으세요. 기호의 개수가 1부터 6까지 수준을 정합니다.

요소마크다운결과
제목 1# Page title최상위 제목, <h1>
제목 2## Section섹션 제목, <h2>
제목 3### Subsection하위 섹션 제목, <h3>
제목 4~6#### Level 4 ##### Level 5 ###### Level 6<h4>, <h5>, <h6>
제목 1, 다른 방식Page title ==========<h1>, # Page title과 같음
제목 2, 다른 방식Section -------<h2>, ## Section과 같음
닫는 # 기호## Section ##<h2>Section</h2>. 뒤쪽 # 기호는 무시됨
공백 누락#Not a heading평범한 문단. # 뒤의 공백은 필수

굵게, 기울임, 취소선

별표는 단어 안에서도 어디서나 동작합니다. 밑줄은 단어 경계에서만 동작하므로 snake_case는 입력한 그대로 남습니다.

요소마크다운결과
굵게**bold text**굵은 글씨, <strong>bold text</strong>
굵게, 밑줄 기호__bold text__굵은 글씨, 위와 같음
기울임*italic text*기울임꼴, <em>italic text</em>
기울임, 밑줄 기호_italic text_기울임꼴, 위와 같음
굵게 + 기울임***bold and italic***<em><strong>bold and italic</strong></em>
단어 안의 굵게un**believ**able단어의 가운데 부분만 굵게 표시
단어 안의 밑줄 기호snake_case_name기울임 없이 평범한 텍스트
취소선 (GFM)~~no longer true~~가로줄이 그어진 텍스트, <del>no longer true</del>
밑줄<ins>underlined</ins>밑줄 친 텍스트. 마크다운에는 밑줄 문법이 없어서 HTML을 씀
형광펜<mark>highlighted</mark>사이트가 <mark> 태그를 허용하면 강조 표시된 텍스트. 마크다운에는 형광펜 문법이 없음

줄바꿈과 문단

문단 안에서 Enter를 한 번 누르면 출력에서는 새 줄이 시작되지 않습니다. 대신 아래 방법 중 하나를 쓰세요.

요소마크다운결과
새 문단First paragraph. Second paragraph.문단 두 개. 빈 줄이 둘을 나눔
줄바꿈: 공백 두 칸Roses are red, Violets are blue.red, 뒤에 <br>이 있는 문단 하나. 첫 줄이 눈에 보이지 않는 공백 두 칸으로 끝남
줄바꿈: 백슬래시Roses are red,\ Violets are blue.같은 <br>을 눈에 보이는 기호로. CommonMark와 GitHub에서 동작
줄바꿈: HTMLRoses are red,<br>Violets are blue.같은 <br>. 표 셀 안에서도 동작
줄바꿈 한 번Roses are red, Violets are blue.한 줄로 표시: Roses are red, Violets are blue. GitHub 이슈와 댓글에서는 줄바꿈이 유지되지만 .md 파일에서는 유지되지 않음
여러 개의 빈 줄One. Two.빈 줄 하나와 같음. 간격을 더 두려면 <br>을 한 줄에 따로 쓰기

목록

중첩 항목은 위 항목의 텍스트와 줄이 맞도록 들여 쓰세요. - 아래는 공백 2칸, 1. 아래는 공백 3칸입니다.

요소마크다운결과
글머리 기호 목록- Apples - Pears - Plums글머리 기호 목록, <li> 세 개가 든 <ul>
다른 글머리 기호* Apples + Pears*와 +도 글머리 기호가 됨. 기호를 바꾸면 새 목록이 시작됨
번호 목록1. Install 2. Configure 3. Run번호 목록, <ol>
번호 대충 쓰기1. Install 1. Configure 1. Run그래도 1, 2, 3으로 번호가 매겨짐. 첫 번째 숫자만 의미가 있음
특정 숫자부터 시작7. Seventh 8. Eighth<ol start="7">, 7부터 번호가 매겨짐
중첩 목록- Fruit - Apple - Pear - Vegetables첫 번째 항목 안의 목록
번호 목록 안의 중첩1. Download - Windows - macOS 2. Install1단계 안의 글머리 기호 목록, 공백 3칸 들여쓰기
항목 안의 문단- First item More about the first item. - Second item첫 번째 항목 안의 문단 두 개
항목 안의 코드1. Run this: ```bash npm install ``` 2. Start the app1단계 안의 코드 블록, 항목의 텍스트에 맞춰 들여 씀

작업 목록 (체크박스)

GitHub Flavored Markdown 확장 기능입니다. [ ]나 [x]로 시작하는 목록 항목은 체크박스가 됩니다.

요소마크다운결과
빈 체크박스- [ ] Write tests체크되지 않은 체크박스
체크된 체크박스- [x] Write tests체크된 체크박스. [X]도 동작
체크리스트- [x] Draft - [ ] Review - [ ] Publish체크된 상자 하나와 빈 상자 두 개. GitHub 이슈와 풀 리퀘스트에서는 클릭해서 체크할 수 있음
중첩 작업- [ ] Release - [x] Tag the commit - [ ] Write the notes첫 번째 상자 아래의 하위 작업 두 개
공백 누락- [] Write tests[] Write tests로 보이는 평범한 글머리 기호. 대괄호 안에 공백이나 x가 필요함

링크

링크 텍스트는 대괄호 안에, 주소는 그 바로 뒤 괄호 안에 쓰고, 둘 사이에는 공백을 두지 않습니다.

요소마크다운결과
인라인 링크[Coddy](https://coddy.tech)<a href="https://coddy.tech">Coddy</a>
제목이 있는 링크[Coddy](https://coddy.tech "Learn to code")같은 링크. 마우스를 올리면 제목이 툴팁으로 표시됨
꺾쇠괄호 안의 URL<https://coddy.tech>URL 자체가 링크로 표시됨
URL 그대로 쓰기 (GFM)https://coddy.techGitHub와 다른 GFM 사이트에서는 링크가 되고, www. 주소도 링크가 됨. 엄격한 CommonMark에서는 평범한 텍스트
이메일 링크<hello@example.com>mailto: 링크
참조 링크Read the [docs][1]. [1]: https://example.com/docsdocs가 URL로 연결됨. [1]: 줄은 표시되지 않음
축약 참조See [GitHub]. [GitHub]: https://github.comGitHub가 URL로 연결됨
상대 링크[Install guide](docs/install.md)이 파일을 기준으로 한 다른 파일로의 링크. GitHub에서는 저장소 안의 파일이 열림
제목으로 가는 링크[Jump to setup](#getting-started)같은 페이지의 ## Getting Started로 스크롤됨
제목 ID## Getting Started!GitHub에서 ID getting-started를 받음: 소문자로 바뀌고, 공백은 하이픈이 되고, -와 _를 제외한 문장 부호는 제거됨
다른 파일의 제목[Requirements](docs/install.md#requirements)그 파일의 해당 제목 위치를 엶
URL 안의 공백[Report](my%20report.pdf)공백을 %20으로 쓰거나, URL을 꺾쇠괄호로 감싸기: [Report](<my report.pdf>)
새 탭에서 열기<a href="https://coddy.tech" target="_blank">Coddy</a>마크다운에는 이 문법이 없음. 사이트가 target 속성을 유지하는 곳에서는 HTML이 동작함

이미지

이미지는 앞에 !가 붙은 링크입니다. 대괄호 안의 텍스트는 대체 텍스트가 되고, 스크린 리더가 이를 소리 내어 읽습니다.

요소마크다운결과
이미지![A cat asleep on a sofa](cat.png)<img src="cat.png" alt="A cat asleep on a sofa">
제목이 있는 이미지![Logo](logo.png "Coddy logo")같은 이미지에 마우스를 올리면 툴팁이 표시됨
URL의 이미지![Build status](https://example.com/badge.svg)웹에서 이미지를 불러옴
링크가 걸린 이미지[![Logo](logo.png)](https://coddy.tech)클릭하면 링크가 열리는 이미지
참조 이미지![Logo][logo] [logo]: images/logo.png인라인 이미지와 같고, URL은 아래에 한 번 정의함
이미지 크기<img src="logo.png" alt="Logo" width="200">너비 200픽셀의 이미지. 순수 마크다운에는 크기 문법이 없어서 HTML <img> 태그를 씀
가운데 정렬한 이미지<p align="center"> <img src="logo.png" alt="Logo" width="200"> </p>가운데 정렬된 이미지. GitHub README 파일에서 흔히 볼 수 있음

코드와 코드 블록

백틱은 줄 안의 코드를, 백틱 세 개로 된 펜스는 블록을 표시합니다. 코드 안의 내용은 서식이 적용되지 않습니다.

요소마크다운결과
인라인 코드Run `npm install` first.고정폭 글꼴의 npm install, <code>로 표시
코드 안의 백틱``Use `git` here``코드 Use `git` here. 코드에 든 것보다 많은 백틱으로 감싸기
코드 블록``` npm install npm run dev ```줄바꿈이 유지되는 블록, <pre><code>
구문 강조```python def greet(name): return f"Hello, {name}" ```구문에 색이 입혀진 Python 블록. 흔히 쓰는 이름: js, ts, python, bash, json, html, css, sql
물결표 펜스~~~js console.log("hi"); ~~~백틱 펜스와 같음
들여쓰기 코드 const total = 42;빈 줄 다음에 공백 4칸으로 들여 써서 만든 코드 블록
diff 블록```diff - const x = 1; + const x = 2; ```GitHub에서 삭제된 줄은 빨간색, 추가된 줄은 초록색
블록 안의 펜스````markdown ```js let a = 1; ``` ````안쪽 펜스를 텍스트로 보여주는 블록. 바깥쪽 펜스에 안쪽보다 많은 백틱이 필요함

표

GitHub Flavored Markdown 확장 기능입니다. 두 번째 줄인 구분 행이 첫 줄을 헤더로 만듭니다. 구분 행의 셀 개수가 헤더와 같아야 하며, 다르면 표가 만들어지지 않습니다.

요소마크다운결과
표| Name | Role | | ----- | ------ | | Ada | Admin | | Linus | Editor |헤더 행과 행 두 개가 있는 표
열 정렬| Left | Center | Right | | :--- | :----: | ----: | | a | b | c |콜론이 정렬을 정함: 왼쪽, 가운데, 오른쪽
바깥쪽 파이프 생략Name | Role --- | --- Ada | Admin같은 표. 줄 맨 앞과 맨 끝의 파이프는 생략할 수 있음
열 너비| a | b | |---|---| | 1 | 2 |너비는 내용에 따라 정해짐. 하이픈 개수는 상관없고, 파이프를 맞춰 정렬할 필요도 없음
셀 안의 서식| Command | Does | | --- | --- | | `git status` | Shows **changed** files |코드, 굵게, 링크, 이미지 모두 셀 안에서 동작
셀 안의 파이프| Operator | Meaning | | --- | --- | | `a \| b` | a or b |셀에 a | b가 표시됨. 코드 안에서도 파이프는 \|로 이스케이프
셀 안의 줄바꿈| Step | Notes | | --- | --- | | 1 | First line<br>Second line |한 셀 안에 두 줄. 실제 줄바꿈을 넣으면 행이 끝남
셀 병합<td colspan="2">Both columns</td>마크다운 표는 셀을 병합할 수 없음. colspan이나 rowspan을 써서 HTML로 표를 작성

인용문

각 줄을 >로 시작하세요. 인용문 안에는 다른 어떤 마크다운이든 넣을 수 있습니다.

요소마크다운결과
인용문> Simple is better than complex.들여 쓴 인용문, <blockquote>
여러 문단> First paragraph. > > Second paragraph.문단 두 개가 든 인용문 하나. >만 있는 줄이 둘을 한데 묶음
중첩 인용문> The reply >> The original message인용문 안의 인용문
다른 요소 넣기> #### Note > - Back up first > - Then upgrade인용문 안의 제목과 목록
알림 (GitHub)> [!NOTE] > Requires Node 20 or later.GitHub에서 색이 입혀진 Note 상자. 다른 종류는 [!TIP], [!IMPORTANT], [!WARNING], [!CAUTION]

수평선

하이픈, 별표, 밑줄 기호 중 하나를 세 개 이상 한 줄에 단독으로 쓰면 페이지를 가로지르는 선이 그려집니다.

요소마크다운결과
수평선---가로선, <hr>
다른 형태*** ___수평선 두 개 더
텍스트 뒤의 수평선Some text ---문단 다음에 수평선. 빈 줄을 유지할 것
빈 줄 누락Some text ---수평선이 아니라 제목 2: 텍스트 줄 아래의 ---는 그 줄에 밑줄을 긋는 것으로 읽힘

각주

GitHub, GitLab, 그리고 많은 정적 사이트 생성기에서 지원합니다. 엄격한 CommonMark에는 각주가 없습니다.

요소마크다운결과
각주Markdown dates from 2004.[^1] [^1]: John Gruber created it, with Aaron Swartz.주석으로 연결되는 위 첨자 1, 주석은 페이지 맨 아래에 나열됨
이름 있는 각주See the spec.[^spec] [^spec]: https://spec.commonmark.org레이블은 단어여도 되지만, 주석 번호는 여전히 사용된 순서대로 1, 2, 3
정의하는 위치[^1]: The text of the note.정의는 파일의 어디에 두어도 됨. 렌더링은 항상 맨 끝에

문자 이스케이프

문장 부호 앞에 백슬래시를 붙이면 서식 대신 그 문자 자체가 출력됩니다.

요소마크다운결과
별표 그대로\*not italic\*별표가 그대로 있는 평범한 텍스트: *not italic*
# 그대로\# Not a heading#으로 시작하는 문단
숫자와 마침표2024\. A good year.2024부터 시작하는 목록이 아닌 문단
대괄호 그대로\[not a link\](page.md)대괄호와 괄호가 입력한 그대로 표시됨
백틱 그대로\`백틱 하나
백슬래시 그대로\\백슬래시 하나
이스케이프할 수 있는 문자\ ` * _ {} [] () <> # + - . ! |모든 ASCII 문장 부호. 글자나 숫자 앞의 백슬래시는 백슬래시로 남음
HTML 엔티티&copy; 2026 &amp; &lt;div&gt;© 2026 & <div>, 텍스트로 표시
코드 안에서는 이스케이프 없음`*stars*`코드 *stars*가 입력한 그대로 표시. 코드 안에서 백슬래시는 평범한 문자

마크다운 안의 HTML

대부분의 렌더러는 HTML을 그대로 통과시키므로, 마크다운에 문법이 없는 것은 태그로 해결할 수 있습니다. GitHub는 <script>, <style>, <iframe>, style 속성 같은 안전하지 않은 HTML을 제거합니다.

요소마크다운결과
키보드 키Press <kbd>Ctrl</kbd> + <kbd>C</kbd>Ctrl과 C가 키 모양으로 표시됨
아래 첨자와 위 첨자H<sub>2</sub>O and x<sup>2</sup>H₂O와 x²
접을 수 있는 섹션<details> <summary>Show the answer</summary> The answer is **42**. </details>클릭하면 열리는 섹션. 빈 줄이 있어야 안쪽의 마크다운이 렌더링됨
HTML 블록 안의 마크다운<div> **not bold** </div>**not bold**가 입력한 그대로 표시. 빈 줄이 블록을 끝내기 전까지 HTML 블록 안의 마크다운은 해석되지 않음
색 있는 텍스트<span style="color: red">red</span>인라인 스타일을 허용하는 사이트에서는 빨간 텍스트. GitHub는 style 속성을 제거함

주석

마크다운에는 주석 문법이 없습니다. 렌더링된 페이지에 텍스트가 나오지 않게 하는 요령이 두 가지 있습니다.

요소마크다운결과
숨긴 주석[//]: # (This line is never shown)아무것도 표시되지 않음. 이 줄은 어떤 링크도 쓰지 않는 링크 정의라서 HTML에 전혀 도달하지 않음
다른 형태[comment]: <> (Also hidden)같은 요령으로 아무것도 표시되지 않음
HTML 주석<!-- TODO: add screenshots -->페이지에는 아무것도 표시되지 않지만 주석은 HTML 소스에 남음
여러 줄 주석<!-- This whole block is hidden -->페이지에는 아무것도 표시되지 않음
위치Some text. [//]: # (comment) More text.문단 두 개. 주석 줄 앞에는 빈 줄이 있어야 하며, 없으면 텍스트로 표시됨

GitHub Flavored Markdown과 GitHub 추가 기능

GitHub Flavored Markdown(GFM)은 CommonMark에 표, 작업 목록, 취소선, URL 자동 링크를 더한 것입니다. GitHub는 그 위에 기능을 더 얹습니다.

기능마크다운동작하는 곳
표| a | b | | --- | --- | | 1 | 2 |GFM: GitHub, GitLab, 대부분의 문서 도구
작업 목록- [x] DoneGFM
취소선~~text~~GFM
URL 자동 링크www.coddy.techGFM
언어를 지정한 코드```js let a = 1; ```CommonMark와 GFM. 색은 사이트가 정함
각주Text.[^1] [^1]: Note.GitHub와 GitLab. 단, GFM 명세에는 없음
이모지:rocket: :tada:GitHub와 GitLab이 단축 코드를 이모지로 바꿈
멘션@octocatGitHub: 사용자에게 링크를 걸고 알림을 보냄
이슈 링크#123GitHub: 같은 저장소의 이슈나 풀 리퀘스트 123으로 연결
다이어그램```mermaid graph LR A --> B ```GitHub와 GitLab이 Mermaid 다이어그램을 그림
수식$E = mc^2$ $$ \sum_{i=1}^{n} i $$GitHub가 LaTeX 수식을 렌더링함. 인라인은 $ 기호 사이에, 블록은 $$ 줄 사이에

모든 마크다운 문법을 한 페이지에, 각각이 어떻게 바뀌는지와 함께 모았습니다. 이 마크다운 치트시트는 기본 문법(제목, 강조, 줄바꿈, 목록, 링크, 이미지, 코드, 인용문)과 GitHub Flavored Markdown의 추가 기능(정렬이 있는 표, 작업 목록, 취소선, URL 자동 링크, 각주), 그리고 이스케이프, HTML, 주석까지 다룹니다.

예제는 CommonMark와 GitHub Flavored Markdown을 따릅니다. GitHub, GitLab, 그리고 대부분의 문서 도구가 기반으로 삼는 규칙입니다. 사이트마다 동작이 다른 경우에는 해당 행에 적어 두었습니다. 입력하면서 예제가 렌더링되는 모습을 보려면 마크다운 에디터에 붙여 넣으세요.

마크다운 치트시트 FAQ

마크다운에서 표는 어떻게 만드나요?
파이프 사이에 셀을 넣어 헤더 행을 쓰고, 그다음 하이픈으로 된 구분 행을, 그다음 행마다 한 줄씩 씁니다: | Name | Role |, | --- | --- |, | Ada | Admin |. 구분 행의 콜론이 열을 정렬합니다: :---는 왼쪽, :---:는 가운데, ---:는 오른쪽. 표는 GitHub Flavored Markdown 기능이라서 GitHub, GitLab, 대부분의 문서 도구에서는 동작하지만 엄격한 CommonMark에서는 동작하지 않습니다.
마크다운에서 줄바꿈은 어떻게 하나요?
문단 안의 줄바꿈 한 번은 출력에서 무시됩니다. 줄바꿈을 강제하려면 줄 끝에 공백 두 칸이나 백슬래시(\)를 두거나 <br>을 쓰세요. 새 문단을 시작하려면 빈 줄을 하나 두세요. GitHub 이슈와 댓글은 예외로, 거기서는 줄바꿈 한 번이 이미 줄바꿈으로 표시됩니다.
마크다운에서 주석은 어떻게 쓰나요?
마크다운에는 주석 문법이 없지만, 통하는 요령이 두 가지 있습니다. 빈 줄 다음에 한 줄로 따로 쓴 [//]: # (your comment)는 아무것도 쓰지 않는 링크 정의라서 페이지에도 HTML에도 나타나지 않습니다. HTML 주석 <!-- your comment -->도 페이지에는 보이지 않지만 HTML 소스에 남기 때문에, 소스를 보는 사람은 누구나 읽을 수 있습니다.
마크다운에서 코드 블록은 어떻게 만드나요?
코드 앞 줄에 백틱 세 개를, 코드 뒤 줄에도 세 개를 쓰세요. ```python처럼 여는 백틱 뒤에 언어 이름을 붙이면 구문 강조가 적용됩니다. 문장 안의 코드는 백틱 하나로 감싸세요: `npm install`.
마크다운에서 체크박스는 어떻게 넣나요?
목록 항목을 빈 상자면 [ ]로, 체크된 상자면 [x]로 시작하세요: - [ ] Review 또는 - [x] Draft. 빈 대괄호 안의 공백은 지우지 마세요. 체크박스는 GitHub Flavored Markdown의 일부이고, GitHub 이슈와 풀 리퀘스트에서는 클릭해서 체크할 수 있습니다.
마크다운에서 이미지 크기는 어떻게 바꾸나요?
순수 마크다운에는 크기 문법이 없습니다. ![alt text](image.png)는 항상 이미지를 원래 크기로 보여줍니다. 대신 <img src="image.png" alt="alt text" width="300"> 같은 HTML 태그를 쓰세요. GitHub와 대부분의 렌더러가 받아들입니다. 비율을 유지하려면 너비나 높이 중 하나만 지정하세요.
마크다운에서 제목으로 가는 링크는 어떻게 거나요?
#와 함께 제목의 ID로 링크하세요: [Setup](#getting-started)은 ## Getting Started로 이동합니다. GitHub는 제목 텍스트를 소문자로 바꾸고, 공백을 하이픈으로 바꾸고, 하이픈과 밑줄 기호를 제외한 문장 부호를 없애서 ID를 만듭니다. 다른 파일의 제목이라면 파일 이름 뒤에 ID를 붙이세요: [Setup](docs/install.md#getting-started).
.md 파일이란 무엇인가요?
마크다운으로 작성한 일반 텍스트 파일입니다. 보통 확장자는 .md와 .markdown이고, README.md는 GitHub가 저장소 첫 화면에 보여주는 파일입니다. 어떤 텍스트 편집기로도 열 수 있고, GitHub, 문서 사이트, 마크다운 뷰어는 서식이 적용된 텍스트로 렌더링합니다. 편집하면서 렌더링된 모습을 보려면 마크다운 에디터에 붙여 넣으세요.
Coddy programming languages illustration

Coddy로 Markdown 배우기

시작하기