본문으로 바로가기

마크다운(Markdown) 완전 가이드: 문법·GFM·실시간 미리보기

2026.04.182026.07.10 수정19분 읽기

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

목차

GitHub에 README를 올리거나, Velog·노션에 글을 쓰거나,
기술 문서를 작성할 때 마크다운을 피할 수 없습니다. 마크다운을 모르면 **굵게**라고 입력해도 그대로 출력되고,
표를 만들려다 포기하는 상황이 생깁니다. 반대로 마크다운 문법을 익히면 복잡한 서식 도구 없이 깔끔한 문서를 빠르게 만들 수 있습니다.

이 가이드에서는 마크다운 기본 문법부터 GitHub Flavored Markdown(GFM) 확장 문법까지
실무에서 자주 쓰는 내용만 정리합니다.

마크다운이란?#

마크다운(Markdown)은 2004년 존 그루버(John Gruber)가 만든 경량 마크업 언어 입니다. 일반 텍스트에 간단한 기호를 추가하면 HTML로 변환됩니다. # 제목이라고 쓰면 <h1>제목</h1>이 되는 방식입니다.

마크다운이 널리 쓰이는 이유는 세 가지입니다. 첫째, 특별한 소프트웨어 없이 메모장만 있어도 작성할 수 있습니다. 둘째, 일반 텍스트 파일이라 버전 관리가 쉽습니다. 셋째, GitHub·Notion·Discord·Velog 등 수백 개 플랫폼이
마크다운을 기본 지원합니다.

기본 문법 한눈에 보기#

아래는 마크다운에서 가장 자주 쓰는 기본 문법입니다.

목적마크다운 입력결과
제목 1단계# 제목큰 제목 (h1)
제목 2단계## 제목중간 제목 (h2)
제목 3단계### 제목작은 제목 (h3)
굵게**텍스트**굵게
기울임*텍스트*기울임
취소선~~텍스트~~취소선
순서 없는 목록- 항목 또는 * 항목• 항목
순서 있는 목록1. 항목1. 항목
링크[텍스트](URL)클릭 가능한 링크
이미지![설명](URL)이미지 삽입
인용> 인용문들여쓰기된 인용
인라인 코드`코드`코드
구분선---가로 구분선

줄바꿈 규칙 주의#

마크다운에서 단순히 Enter를 한 번 누르면 줄바꿈이 되지 않습니다. 새 단락으로 만들려면 빈 줄을 한 줄 추가해야 합니다. 같은 단락 내에서 강제 줄바꿈이 필요하다면
문장 끝에 공백 두 칸을 입력하거나 <br> 태그를 사용합니다.

GFM: GitHub가 확장한 마크다운#

GitHub Flavored Markdown(GFM)은 표준 마크다운에 편의 기능을 추가한 확장 규격입니다. GitHub뿐 아니라 Velog, GitLab, Obsidian 등
대부분의 현대 마크다운 도구가 GFM을 지원합니다.

표 만들기#

| 이름 | 나이 | 직업 |
|------|------|------|
| 홍길동 | 30 | 개발자 |
| 김철수 | 25 | 디자이너 |

첫 행이 헤더, 두 번째 행(하이픈 행)이 구분선입니다. 각 셀은 |로 구분합니다. 열 정렬은 |:---:|(가운데), |---:|(오른쪽)으로 지정합니다.

코드 블록#

코드 블록은 백틱 세 개(```)로 감쌉니다. 언어명을 지정하면 문법 강조가 적용됩니다.

```python
def hello():
    print("Hello, World!")
```
```javascript
const sum = (a, b) => a + b;
```

체크박스 (할 일 목록)

- [x] 완료된 항목
- [ ] 미완료 항목
- [ ] 다른 미완료 항목

GitHub Issues, Notion, Obsidian 등에서
체크박스를 클릭해 상태를 바꿀 수 있습니다.

플랫폼별 마크다운 지원 현황#

마크다운을 지원하는 주요 플랫폼과 지원 범위를 정리합니다.

플랫폼기본 문법GFM 표코드 강조수식(LaTeX)비고
GitHubGFM 원조
Velog개발자 블로그
Notion자체 확장 추가
Obsidian로컬 마크다운
Discord부분간소화 지원
티스토리HTML 모드 전환 필요
Reddit구버전 Reddit만
Slack부분메시지용 간소화

마크다운 미리보기 도구 사용법#

작성한 마크다운이 실제로 어떻게 렌더링되는지 확인하려면 미리보기 도구를 활용합니다.

  1. 마크다운 미리보기 페이지에 접속합니다.
  2. 왼쪽 에디터 영역에 마크다운 텍스트를 입력하거나 붙여넣습니다.
  3. 오른쪽 미리보기 영역에서 렌더링 결과를 실시간으로 확인합니다.
  4. 표·코드블록·체크박스 등 GFM 문법도 즉시 확인됩니다.

VSCode를 사용하는 경우 Ctrl+Shift+V(Mac: Cmd+Shift+V)로
내장 마크다운 미리보기를 열 수 있습니다. 단, VSCode 미리보기는 GFM 일부 기능이 다르게 보일 수 있으므로,
GitHub·Velog 등 실제 게시 환경과 비교하려면 전용 도구를 활용하는 것이 정확합니다.

자주 하는 실수 TOP 5#

1. 제목 기호 뒤 띄어쓰기 누락
#제목은 제목으로 인식되지 않습니다. # 제목처럼 #과 텍스트 사이에 공백이 필요합니다.

2. 빈 줄 없이 목록 작성
목록 바로 위에 빈 줄이 없으면 일부 파서가 목록으로 인식하지 않습니다. 목록 시작 전 항상 빈 줄을 넣으세요.

3. 들여쓰기 단위 혼용
중첩 목록에서 탭과 스페이스를 혼용하면 렌더링이 깨질 수 있습니다. 스페이스 2칸 또는 4칸 중 하나로 통일합니다.

4. 특수문자 이스케이프 누락
마크다운 기호를 그대로 표시하려면 백슬래시로 이스케이프해야 합니다. 예: \*별표 그대로\*, \[대괄호\]. 이스케이프하지 않으면 마크다운 문법으로 해석됩니다.

5. 표 구분선 행 누락
| 헤더 | 다음 줄에 | --- | 구분선을 빠뜨리면 표로 렌더링되지 않습니다. 헤더 바로 아래 구분선 행은 필수입니다.

자주 묻는 질문#

Q. 마크다운과 HTML 중 어느 것을 써야 하나요?

A. 마크다운이 지원되는 환경에서는 마크다운이 훨씬 빠르고 가독성이 좋습니다. 다만 복잡한 레이아웃이나 세밀한 스타일이 필요하면 HTML이 필요합니다. 마크다운 안에 HTML 태그를 일부 섞어 쓸 수 있는 플랫폼도 있지만,
GitHub·Velog 등 보안 정책이 엄격한 플랫폼은 HTML을 제한합니다.

Q. GFM과 표준 마크다운의 차이는 무엇인가요?

A. 표준 마크다운은 존 그루버가 정의한 기본 규격입니다. GFM(GitHub Flavored Markdown)은 여기에 표·코드 강조·체크박스·취소선·URL 자동 링크
추가한 GitHub의 확장 규격입니다. 현재 대부분의 개발 환경에서는 GFM이 사실상 표준처럼 사용됩니다.

Q. 마크다운으로 이미지를 삽입할 수 있나요?

A. 네. ![대체 텍스트](이미지 URL) 문법으로 삽입합니다. 단, 이미지 URL이 외부 링크인 경우 해당 서버가 CORS를 허용해야 표시됩니다. 로컬 파일은 상대 경로로 참조할 수 있지만
웹에 게시할 때는 이미지 호스팅이 필요합니다.

Q. 마크다운에서 글자 색상이나 폰트를 바꿀 수 있나요?

A. 순수 마크다운으로는 불가능합니다. 색상·폰트 변경은 CSS나 HTML 태그(<span style="color:red">)가 필요한데,
플랫폼마다 HTML 허용 여부가 다릅니다. GitHub·Velog 등 보안 중심 플랫폼은 인라인 스타일을 제거합니다.

Q. 마크다운 파일을 PDF로 변환할 수 있나요?

A. 가능합니다. VSCode의 "Markdown PDF" 확장 프로그램, Pandoc 명령줄 도구, 또는 Typora 편집기를 사용하면
마크다운 파일을 PDF로 내보낼 수 있습니다. GitHub Actions를 활용한 자동화도 가능합니다.


마크다운은 배우는 데 30분이면 충분하지만,
익혀두면 개발 문서·블로그·기술 노트 작성 속도가 크게 빨라집니다. 작성한 마크다운이 실제로 어떻게 보이는지 확인하는 가장 빠른 방법은
미리보기 도구를 활용하는 것입니다.

관련 도구

이런 글도 읽어보세요

전체 글 보기

관련 도구