마크다운 표의 기본 구조

마크다운 표는 파이프(|)로 열을 구분하고, 두 번째 행에 구분선(---)을 넣는 방식입니다.

| 이름 | 나이 | 도시 |
|------|------|------|
| 홍길동 | 30 | 서울 |
| 김철수 | 25 | 부산 |
| 이영희 | 28 | 대구 |

결과:

이름나이도시
홍길동30서울
김철수25부산
이영희28대구

파이프는 양쪽 끝에 없어도 되지만, 있으면 가독성이 좋아집니다.

열 정렬

구분선 행에서 콜론(:)의 위치로 정렬을 지정합니다.

| 항목 | 가격 | 설명 |
|:-----|-----:|:----:|
| 사과 | 1,000원 | 과일 |
| 노트북 | 1,500,000원 | 전자기기 |
  • :--- 또는 :------: 왼쪽 정렬 (기본값)
  • ---:: 오른쪽 정렬 (숫자, 금액에 적합)
  • :---:: 가운데 정렬 (헤더, 상태 값에 적합)

숫자 데이터는 오른쪽 정렬이 표준입니다. 숫자를 왼쪽 정렬하면 자릿수를 비교하기 어렵습니다.

표 안에서 마크다운 사용

표 셀 안에도 일부 마크다운을 사용할 수 있습니다.

| 문법 | 예시 | 결과 |
|------|------|------|
| 굵게 | `**텍스트**` | **텍스트** |
| 기울임 | `*텍스트*` | *텍스트* |
| 코드 | `\`코드\`` | `코드` |
| 링크 | `[텍스트](url)` | [링크](#) |

단, 줄바꿈은 표 안에서 사용할 수 없습니다. 셀 하나에 여러 줄이 필요하다면 <br> HTML 태그를 직접 쓰는 방법이 있지만, 그런 경우엔 표 대신 목록 사용을 고려해보세요.

실용적인 표 예제

기술 비교표

| | React | Vue | Svelte |
|---|---|---|---|
| 학습 곡선 | 보통 | 낮음 | 낮음 |
| 번들 크기 | 중간 | 작음 | 매우 작음 |
| 생태계 | 매우 넓음 | 넓음 | 성장 중 |
| 기업 지원 | Meta | Evan You | Vercel |

API 엔드포인트 문서

| 메서드 | 경로 | 설명 | 인증 필요 |
|:------:|------|------|:---------:|
| GET | /api/users | 사용자 목록 조회 | ✓ |
| POST | /api/users | 사용자 생성 | ✓ |
| GET | /api/users/:id | 특정 사용자 조회 | ✓ |
| DELETE | /api/users/:id | 사용자 삭제 | ✓ |

버전 릴리즈 노트

| 버전 | 날짜 | 주요 변경사항 |
|------|------|--------------|
| v2.1.0 | 2026-05-01 | 다크 모드 추가, 성능 개선 |
| v2.0.0 | 2026-04-01 | 전면 리뉴얼, Breaking Changes |
| v1.5.2 | 2026-03-15 | 버그 수정 3건 |

긴 표 다루기

열이 많거나 셀 내용이 길면 마크다운 원문이 보기 불편해집니다. 이럴 때 팁:

  • 정렬 통일: 구분선 길이를 통일하지 않아도 되지만, 맞추면 편집하기 편합니다.
  • 에디터 지원: VS Code의 Markdown Table 확장, 이지 마크다운처럼 표를 자동 정렬해주는 도구를 쓰면 편합니다.
  • 표 분리: 열이 7개 이상이면 두 개 표로 나누거나 문서 구조를 재검토하는 것이 좋습니다.

표가 적합하지 않은 경우

표는 강력하지만 모든 데이터에 어울리는 건 아닙니다.

  • 관계 데이터: 부모-자식 관계가 있는 데이터는 중첩 목록이 낫습니다.
  • 자유 텍스트: 셀 안에 단락 수준의 설명이 필요하다면 표보다 제목+본문 구조가 낫습니다.
  • 비교 항목이 2~3개: 비교 항목이 적으면 표보다 나란히 쓴 목록이 더 읽기 편합니다.

좋은 표는 독자가 데이터를 스캔하기 쉽게 만듭니다. 표를 쓸 때는 항상 "독자가 이 표에서 무엇을 찾으려 하는가"를 먼저 생각하세요.