MarkdownCo
블로그로 돌아가기
가이드

마크다운 기본 문법: 예제와 함께하는 완벽 가이드

마크다운 기본 문법의 모든 요소를 명확한 예제와 흔한 실수 방지법으로 마스터하세요. 제목, 목록, 링크 등에 대한 최종 참고 가이드입니다.

마크다운 기본 문법: 예제와 함께하는 완벽 가이드

마크다운 기본 문법은 모든 개발자, 작가, 콘텐츠 크리에이터가 반드시 익혀야 하는 기초입니다. 문서를 작성하든, 블로그 글을 쓰든, GitHub 이슈를 작성하든, 이 핵심 요소들은 매일 사용하게 될 기본 구성 요소입니다.

이 가이드에서는 모든 기본 문법 요소를 명확한 예제, HTML 출력 비교, 그리고 흔한 실수 방지법과 함께 살펴봅니다. 북마크해 두세요 — 생각보다 자주 다시 찾게 될 것입니다.

제목(Headings)

Markdown Headings

제목은 콘텐츠를 논리적인 계층 구조로 구성합니다. 마크다운은 텍스트 앞에 # 기호를 배치하여 만드는 6단계의 제목을 지원합니다.

# Heading Level 1
## Heading Level 2
### Heading Level 3
#### Heading Level 4
##### Heading Level 5
###### Heading Level 6

이는 다음과 같은 HTML을 생성합니다:

<h1>Heading Level 1</h1>
<h2>Heading Level 2</h2>
<h3>Heading Level 3</h3>
<h4>Heading Level 4</h4>
<h5>Heading Level 5</h5>
<h6>Heading Level 6</h6>

제목 작성 모범 사례

#과 제목 텍스트 사이에 반드시 공백을 추가하세요. 공백이 없으면 일부 파서에서 제목으로 인식하지 못합니다.

✅ ## This Works
❌ ##This Doesn't

제목을 순서대로 사용하세요. H2에서 H4로 건너뛰지 마세요 — 논리적인 문서 구조가 깨지고 접근성과 SEO에 모두 악영향을 미칩니다. 제목을 목차처럼 생각하세요: 각 단계는 상위 단계 아래에 논리적으로 중첩되어야 합니다.

H1은 페이지당 하나만 사용하세요. H1은 페이지 제목입니다. 나머지는 모두 H2 이하를 사용해야 합니다.

문단과 줄 바꿈

문단은 가장 간단한 마크다운 요소입니다 — 그냥 텍스트를 작성하면 됩니다. 문단을 구분하려면 빈 줄을 삽입하세요.

This is the first paragraph.

This is the second paragraph.

줄 바꿈

이 부분에서 많은 초보자들이 혼란을 겪습니다. 대부분의 마크다운 렌더러에서 Enter를 한 번 누르는 것만으로는 새 줄이 만들어지지 않습니다. 다음 중 하나를 사용해야 합니다:

  1. 줄 끝에 두 개 이상의 공백을 추가 (그런 다음 Enter를 누르세요)
  2. <br> HTML 태그 사용
This is the first line.
This is the second line.

Or use HTML:<br>
This starts a new line.

흔한 실수

두 줄 사이에서 단순히 Enter를 누르면 렌더링된 결과에서 하나의 문단으로 합쳐집니다:

Line one
Line two

이는 "Line one Line two"로 렌더링됩니다 — 한 줄로 합쳐지는 것이죠. 새 문단을 만들려면 항상 빈 줄을 사용하고, 같은 문단 내에서 줄 바꿈을 하려면 후행 공백을 사용하세요.

텍스트 서식

Markdown Text Formatting

마크다운을 사용하면 텍스트 강조를 손쉽게 할 수 있습니다. 다음은 핵심 서식 옵션입니다:

굵게 (Bold)

텍스트를 이중 별표 또는 이중 밑줄로 감쌉니다:

**This is bold text**
__This is also bold__

HTML 출력: <strong>This is bold text</strong>

기울임꼴 (Italic)

텍스트를 단일 별표 또는 단일 밑줄로 감쌉니다:

*This is italic text*
_This is also italic_

HTML 출력: <em>This is italic text</em>

굵은 기울임꼴 (Bold and Italic)

두 가지 모두 적용하려면 별표 세 개를 사용합니다:

***Bold and italic***
___Also bold and italic___
**_Or mix like this_**

HTML 출력: <strong><em>Bold and italic</em></strong>

취소선 (Strikethrough)

이중 물결표를 사용합니다 (GFM 확장 기능이지만 거의 모든 곳에서 지원됩니다):

~~This text is crossed out~~

HTML 출력: <del>This text is crossed out</del>

흔한 실수

단어 중간에 밑줄을 사용하는 것은 안정적으로 작동하지 않습니다. 단어 중간의 강조에는 별표를 사용하세요:

✅ This is**very**important
❌ This is__very__important

인용문 (Blockquotes)

인용문은 > 문자로 생성합니다. 출처를 인용하거나, 중요한 참고 사항을 강조하거나, 핵심 정보를 부각시킬 때 주로 사용됩니다.

> Markdown is intended to be as easy-to-read and easy-to-write as is feasible.
> — John Gruber

HTML 출력:

<blockquote>
  <p>Markdown is intended to be as easy-to-read and easy-to-write as is feasible.
  — John Gruber</p>
</blockquote>

여러 문단 인용문

문단 사이의 빈 줄에 >를 추가합니다:

> First paragraph of the quote.
>
> Second paragraph of the quote.

중첩 인용문

>>를 사용하여 중첩합니다:

> This is the outer quote.
>
>> This is a nested quote inside it.

다른 요소와 함께 사용하는 인용문

인용문을 다른 마크다운 서식과 결합할 수 있습니다:

> ### A Heading Inside a Quote
>
> - List item one
> - List item two
>
> Text with **bold** and *italic* formatting.

목록 (Lists)

Markdown Lists

목록은 마크다운에서 가장 자주 사용되는 요소 중 하나입니다. 비정렬 목록, 정렬 목록, 작업 목록의 세 가지 유형이 있습니다.

비정렬 목록

-, *, 또는 +를 마커로 사용합니다. 일관성을 위해 하나를 선택하여 사용하세요:

- First item
- Second item
- Third item

HTML 출력:

<ul>
  <li>First item</li>
  <li>Second item</li>
  <li>Third item</li>
</ul>

정렬 목록

숫자 뒤에 마침표를 사용합니다. 실제 숫자는 중요하지 않습니다 — 마크다운이 자동으로 번호를 매깁니다:

1. First step
2. Second step
3. Third step

흥미롭게도 이것도 동일한 결과를 생성합니다:

1. First step
1. Second step
1. Third step

둘 다 올바르게 1-2-3으로 번호가 매겨진 목록으로 렌더링됩니다. 하지만 소스 파일의 가독성을 위해 순차적인 번호를 사용하는 것이 모범 사례입니다.

중첩 목록

두 칸 또는 네 칸 들여쓰기로 하위 목록을 생성합니다:

1. Main item
   - Sub-item A
   - Sub-item B
     - Sub-sub-item
2. Another main item

작업 목록

작업 목록(GFM 기능)은 미완료 항목에 - [ ], 완료 항목에 - [x]를 사용합니다:

- [x] Write the draft
- [x] Add code examples
- [ ] Proofread the article
- [ ] Publish

흔한 실수

문단 뒤에 목록이 올 때 목록 앞에 빈 줄을 넣는 것을 잊는 경우가 있습니다. 일부 파서에서는 빈 줄이 필수입니다:

✅ Here is my list:

- Item one
- Item two

❌ Here is my list:
- Item one
- Item two

코드 (Code)

Markdown Code

코드 표시는 마크다운의 가장 강력한 기능 중 하나이며, 가독성을 위해 올바르게 사용하는 것이 중요합니다.

인라인 코드

인라인 표시를 위해 코드를 단일 백틱으로 감쌉니다:

Use the `print()` function to output text.

HTML 출력: Use the <code>print()</code> function to output text.

코드 자체에 백틱이 포함된 경우, 이중 백틱을 사용합니다:

``There is a literal `backtick` here.``

코드 블록

여러 줄의 코드에는 삼중 백틱(펜스드 코드 블록)과 구문 강조를 위한 선택적 언어 식별자를 사용합니다:

```javascript
function greet(name) {
  return `Hello, ${name}!`;
}
```

언어 식별자(javascript, python, html, css, bash 등)를 사용하면 대부분의 렌더러에서 구문 강조가 활성화됩니다. 항상 포함하세요 — 가독성이 크게 향상됩니다.

들여쓰기 코드 블록

네 칸 공백 또는 하나의 탭으로 모든 줄을 들여쓰기하여 코드 블록을 만들 수도 있습니다:

    function add(a, b) {
      return a + b;
    }

하지만 펜스드 코드 블록이 강력히 권장됩니다. 구문 강조를 지원하고 모든 줄을 들여쓸 필요가 없기 때문입니다.

링크 (Links)

링크는 콘텐츠를 연결하는 데 필수적입니다. 마크다운은 여러 가지 링크 형식을 지원합니다.

인라인 링크

가장 일반적인 형식 — 대괄호 안에 텍스트, 소괄호 안에 URL:

[Visit Example](https://example.com)

HTML 출력: <a href="https://example.com">Visit Example</a>

제목이 있는 링크

URL 뒤에 따옴표로 제목을 추가합니다 (마우스를 올리면 툴팁으로 표시됩니다):

[Visit Example](https://example.com "Example Website")

참조 스타일 링크

많은 링크가 있을 때 소스 텍스트를 깔끔하게 유지하려면 참조 스타일을 사용하세요:

I use [Google][1] and [GitHub][2] daily.

[1]: https://google.com "Google"
[2]: https://github.com "GitHub"

이렇게 하면 문단이 깔끔하게 유지되고 모든 URL이 하단에 모이게 됩니다 — 긴 문서에서 특히 유용합니다.

자동 링크

URL이나 이메일을 꺾쇠 괄호로 감싸면 자동으로 링크됩니다:

<https://example.com>
<contact@example.com>

대부분의 최신 렌더러(예: GitHub)는 꺾쇠 괄호 없이도 일반 URL을 자동으로 링크하지만, 꺾쇠 괄호를 사용하면 호환성이 보장됩니다.

흔한 실수

URL의 공백은 인코딩이 필요하다는 것을 잊지 마세요. 공백에는 %20을 사용합니다:

✅ [My Doc](files/my%20document.pdf)
❌ [My Doc](files/my document.pdf)

이미지 (Images)

Markdown Links and Images

이미지는 링크와 동일한 문법을 사용하지만, 앞에 느낌표 !를 붙입니다:

![Alt text describing the image](/path/to/image.webp)

HTML 출력: <img src="/path/to/image.webp" alt="Alt text describing the image">

제목이 있는 이미지

![A sunset over the ocean](/images/sunset.webp "Beautiful sunset")

링크된 이미지

링크와 이미지 문법을 결합하여 이미지를 클릭 가능하게 만들 수 있습니다:

[![Alt text](/images/photo.webp)](https://example.com)

대체 텍스트 모범 사례

항상 설명적인 대체 텍스트를 작성하세요. 두 가지 중요한 목적이 있습니다:

  1. 접근성 — 화면 낭독기가 시각 장애가 있는 사용자에게 이미지를 설명하는 데 사용합니다
  2. SEO — 검색 엔진이 이미지 콘텐츠를 이해하는 데 사용합니다
✅ ![Markdown syntax cheat sheet showing headings, lists, and links](/images/cheatsheet.webp)
❌ ![image](/images/cheatsheet.webp)
❌ ![](/images/cheatsheet.webp)

수평선 (Horizontal Rules)

섹션을 시각적으로 구분하기 위해 수평선(주제 구분선)을 만듭니다. 세 개 이상의 대시, 별표 또는 밑줄을 사용합니다:

---
***
___

세 가지 모두 동일한 HTML을 생성합니다: <hr>

모범 사례: ---를 일관되게 사용하고, 앞뒤로 항상 빈 줄을 추가하세요:

Content above the rule.

---

Content below the rule.

이스케이프 문자

리터럴 별표나 해시 기호를 마크다운 서식 없이 그대로 표시하고 싶다면 어떻게 할까요? 문자 앞에 백슬래시 \를 사용합니다:

\* This is not italic \*
\# This is not a heading
\- This is not a list item

이스케이프할 수 있는 문자의 전체 목록은 다음과 같습니다:

\   Backslash
`   Backtick
*   Asterisk
_   Underscore
{}  Curly braces
[]  Square brackets
()  Parentheses
#   Hash
+   Plus sign
-   Hyphen
.   Dot
!   Exclamation mark
|   Pipe

빠른 참조 치트 시트

빠른 검색을 위한 모든 기본 문법 요소 테이블입니다:

Element         Syntax              HTML
--------------  ------------------  -----------
Heading 1       # Text              <h1>
Heading 2       ## Text             <h2>
Heading 3       ### Text            <h3>
Bold            **text**            <strong>
Italic          *text*              <em>
Bold + Italic   ***text***          <strong><em>
Strikethrough   ~~text~~            <del>
Blockquote      > text              <blockquote>
Ordered list    1. item             <ol><li>
Unordered list  - item              <ul><li>
Inline code     `code`              <code>
Link            [text](url)         <a href>
Image           ![alt](src)         <img>
Horizontal rule ---                 <hr>
Line break      spaces + Enter      <br>

직접 실습해 보세요

마크다운 기본 문법의 모든 요소를 배웠으니, 이제 직접 사용해 볼 차례입니다. 다음 단계를 따라해 보세요:

  1. 직접 작성하기: notes.md 파일을 만들고 각 문법 요소를 시도해 보세요. 많이 쓸수록 자연스러워집니다.

  2. 미리보기 도구 사용하기: VS Code의 내장 마크다운 미리보기(Ctrl+Shift+V / Cmd+Shift+V)를 사용하면 입력하는 동안 실시간으로 렌더링된 결과를 확인할 수 있습니다.

  3. 변환하고 공유하기: 마크다운 문서가 완성되면 깔끔한 출력으로 변환하세요 — Markdown를 HTML로 변환기로 웹 게시, Markdown를 PDF로 변환기로 인쇄용 문서, Markdown를 Word로 변환기로 공동 편집이 가능합니다.

  4. 더 깊이 탐구하기: 기본 문법에 익숙해지면, 마크다운 확장 문법 가이드에서 테이블, 각주, 정의 목록 등을 학습하세요. 마크다운이 완전히 처음이신가요? 마크다운이란에서 전체 그림을 파악해 보세요.

마크다운의 아름다움은 이 기본 요소들이 여러분이 작성해야 할 대부분의 내용을 커버한다는 것입니다. 한 번 마스터하면 GitHub에서 Notion까지, 문서에서 이 글과 같은 블로그 포스트까지 — 어디에서나 활용할 수 있습니다.

Markdown문법글쓰기생산성