마크다운 변환 문제 해결: 표, 코드, 이미지 오류 총정리
마크다운을 깔끔하게 작성하고 "변환" 버튼을 눌렀는데, 결과물이 엉망입니다. 표는 깨지고, 코드 블록은 밋밋한 텍스트가 되어 있고, 이미지는 사라지고, LaTeX 수식은 알 수 없는 문자열로 변해 있습니다. 한 번쯤 겪어보신 적 있으시죠?
MarkFlow에서 마크다운을 Word, PDF, HTML로 변환하는 과정에서 수많은 사용자 피드백을 받아왔습니다. 그중 가장 자주 발생하는 변환 오류를 정리해서 이 가이드에 담았습니다. 총 15가지 실제 문제와 구체적인 해결법을 다룹니다.
빠른 참고: 문제와 해결법
| 문제 | 주요 원인 | 해결법 |
|---|---|---|
| 테이블 열이 어긋남 | 파이프 구문 누락/불일치 | 린터로 구문 검증 |
| 코드 블록 하이라이팅 손실 | 언어 식별자 미지정 | ``` 뒤에 언어명 추가 |
| 이미지 미표시 | 경로 오류 또는 미지원 프로토콜 | 절대 URL 또는 base64로 임베드 |
| LaTeX 수식이 텍스트로 출력 | 변환기가 수식 미지원 | KaTeX/MathJax 지원 도구로 전환 |
| Mermaid 다이어그램 누락 | Mermaid 렌더링 엔진 없음 | Mermaid 지원 변환기 사용 |
| 중첩 목록이 평탄화됨 | 탭과 스페이스 혼용 | 4스페이스 들여쓰기로 통일 |
| 각주가 사라짐 | 변환기가 각주 구문 무시 | GFM 각주 지원 여부 확인 |
| 이모지가 네모로 표시 | 폰트에 이모지 글리프 없음 | 이모지 폰트 매핑 지원 도구 사용 |
테이블 관련 문제
문제 1: Word 출력에서 테이블 열이 어긋나거나 합쳐지는 경우
증상: 마크다운에서 깔끔하게 작성한 테이블이 Word로 변환되면 완전히 깨집니다. 열이 합쳐지거나, 내용이 넘치거나, 테이블 구조 자체가 사라집니다.
원인:
가장 흔한 원인은 테이블 구문 오류입니다. 마크다운 테이블은 생각보다 엄격합니다. 파이프 문자 하나만 빠져도 전체 테이블이 무너집니다.
자주 발생하는 실수 패턴입니다.
<!-- 잘못된 예: 앞쪽 파이프 누락 -->
Header 1 | Header 2
--- | ---
Cell 1 | Cell 2
<!-- 잘못된 예: 구분선 행의 열 수가 안 맞음 -->
| Header 1 | Header 2 | Header 3 |
| --- | --- |
| Cell 1 | Cell 2 | Cell 3 |
해결법:
파이프 구문을 일관되게 사용하고, 열 수를 맞춰야 합니다.
| Header 1 | Header 2 | Header 3 |
|:---------|:--------:|----------:|
| Left | Center | Right |
| Cell 1 | Cell 2 | Cell 3 |
꼭 기억해야 할 규칙은 다음과 같습니다.
- 모든 행의 시작과 끝에 파이프
|를 작성합니다 - 구분선 행의 열 수를 헤더와 동일하게 맞춥니다
- 정렬 콜론을 활용합니다 —
:---왼쪽,:---:가운데,---:오른쪽 - 셀 병합은 표준 마크다운에서 지원하지 않습니다. 셀 병합이 필요하면 변환 후 Word에서 직접 편집하세요

팁: 변환 전에 마크다운 린터나 프리뷰 도구에서 테이블을 확인하는 습관을 들이세요. VS Code, Typora, Obsidian 등은 테이블 구문 오류를 바로 보여줍니다.
문제 2: Word 출력에서 테이블 열 너비가 극단적으로 편중되는 경우
증상: 마크다운 에디터에서는 보기 좋던 테이블이 Word로 변환하면 한 열이 전체 너비의 80%를 차지하고 나머지 열은 찌그러집니다.
원인:
대부분의 마크다운-to-Word 변환기는 셀 내용의 길이를 기준으로 열 너비를 계산합니다. 한 셀에 긴 문장이나 URL이 들어 있고 다른 셀은 짧은 값만 있으면 비율이 크게 치우칩니다. HTML과 달리 마크다운에는 열 너비를 지정하는 문법이 없습니다.
해결법:
- 셀 내용을 간결하게 유지합니다. 긴 설명은 각주나 테이블 아래 별도 단락으로 옮기세요
- 긴 URL은 링크 텍스트로 변환합니다: 셀에 URL을 그대로 붙여넣지 말고
[링크 텍스트](url)형식을 사용하세요 - MarkFlow로 변환합니다 — 기본적으로 균형 잡힌 열 너비를 적용해서 대부분의 변환기보다 읽기 좋은 Word 테이블을 생성합니다
정확한 열 너비가 필요하다면 변환 후 Word에서 수동 조정하세요. 테이블을 선택하고 "테이블 속성" > "열" 탭에서 원하는 너비를 설정할 수 있습니다.
문제 3: 테이블 셀의 특수 문자가 구조를 깨뜨리는 경우
증상: 테이블 셀 안에 있는 파이프 문자 |가 열 구분자로 인식되어 테이블 구조가 망가집니다. HTML 엔티티가 그대로 출력되기도 합니다.
원인:
파이프 문자 |는 마크다운 테이블의 열 구분자입니다. 셀 내용에 파이프가 그대로 들어가면 파서가 이를 열 경계로 판단합니다.
해결법:
백슬래시로 파이프 문자를 이스케이프합니다.
| 명령어 | 설명 |
|:--------|:------------|
| `echo "a \| b"` | 필터로 파이프 출력 |
| `status: pass\|fail` | pass 또는 fail 상태 표시 |
기타 특수 문자 처리 방법도 정리합니다.
- 파이프 문자에는
\|사용 - 앰퍼샌드가 필요하면
&같은 HTML 엔티티로 작성 - 인라인 코드 백틱으로 감싸면 마크다운 해석을 방지할 수 있습니다
코드 블록 관련 문제
문제 4: 변환 후 코드 블록의 구문 강조(Syntax Highlighting)가 사라지는 경우
증상: 에디터에서 예쁘게 하이라이팅되던 Python이나 JavaScript 코드가 Word에서는 색상 없는 일반 텍스트로 출력됩니다.
원인:
주요 원인은 두 가지입니다.
- 언어 식별자 미지정 — 트리플 백틱만 쓰고 언어명을 적지 않은 경우
- 변환기가 하이라이팅 미지원 — 기본적인 변환기는 Word/PDF 내보내기 시 구문 강조를 제거합니다
차이를 확인해 보겠습니다.
<!-- 하이라이팅 없음 — 언어 태그 없음 -->
```
function hello() {
console.log("Hello");
}
```
<!-- 하이라이팅 적용 — 언어 지정 -->
```javascript
function hello() {
console.log("Hello");
}
```
해결법:
트리플 백틱 바로 뒤에 반드시 언어명을 지정하세요. 자주 사용하는 언어 식별자 목록입니다.
| 언어 | 식별자 |
|---|---|
| JavaScript | javascript 또는 js |
| Python | python 또는 py |
| TypeScript | typescript 또는 ts |
| Bash/Shell | bash 또는 shell |
| JSON | json |
| SQL | sql |
| HTML | html |
| CSS | css |
| Go | go |
| Rust | rust |

언어를 지정해도 하이라이팅이 안 되면 변환기 문제입니다. MarkFlow는 Word와 PDF 모두에서 구문 강조를 유지합니다. 색상, 폰트, 들여쓰기가 그대로 출력됩니다.
문제 5: 인라인 코드 서식이 사라지는 경우
증상: 백틱으로 감싼 config.yaml이나 npm install이 변환 후에는 주변 텍스트와 구분이 안 되는 일반 글씨로 표시됩니다.
원인:
일부 변환기는 인라인 코드를 일반 텍스트로 처리하고 별도 스타일을 적용하지 않습니다. 백틱 구문은 인식하지만 출력 포맷에 고정폭 폰트나 배경색이 포함되지 않는 것입니다.
해결법:
- 인라인 코드 스타일링을 지원하는 변환기를 사용하세요. MarkFlow는 Word 출력에서 고정폭 폰트와 연한 배경색으로 인라인 코드를 표현합니다
- 인라인 코드 안에 백틱이 있을 때는 이중 백틱을 사용하세요:
`code with `backtick`은``code with `backtick` ``처럼 작성합니다 - 강조 목적으로 인라인 코드를 남용하지 마세요. 강조에는 볼드나 이탤릭을 사용하세요. 백틱은 실제 코드, 명령어, 파일명, 기술 식별자에만 쓰는 것이 좋습니다
문제 6: 코드의 들여쓰기와 공백이 변경되는 경우
증상: Word 출력의 코드 블록에서 들여쓰기가 틀어져 있습니다. 전부 왼쪽 정렬이 되거나, 탭이 불규칙한 스페이스로 변환됩니다.
원인:
마크다운 파서와 Word 렌더링 엔진 간에 탭-스페이스 변환 규칙이 다릅니다. 일부 변환기는 앞쪽 공백을 제거하거나 여러 개의 스페이스를 하나로 합칩니다.
해결법:
- 코드 블록 안에서는 탭 대신 스페이스를 사용하세요. 대부분의 스타일 가이드에서 2스페이스 또는 4스페이스를 권장합니다. 탭의 해석 방식은 변환기마다 다릅니다
- 들여쓰기 방식이 아닌 펜스 방식의 코드 블록을 사용하세요. 트리플 백틱으로 감싸는 펜스 방식이 더 안정적으로 파싱됩니다:
<!-- 권장: 펜스 방식 코드 블록 -->
```python
def nested():
if True:
for i in range(10):
print(i)
```
<!-- 비권장: 들여쓰기 방식 코드 블록 (4스페이스) -->
def nested():
if True:
for i in range(10):
print(i)
- 변환 후 즉시 출력을 확인하세요. 공백이 이상하면 마크다운이 아니라 변환기 쪽의 문제입니다. 다른 도구로 바꾸거나 버그를 리포트하세요
이미지 관련 문제
문제 7: 변환 후 이미지가 표시되지 않는 경우
증상: 변환된 Word 또는 PDF 문서에 깨진 이미지 아이콘, 빈 공간, 또는 alt 텍스트만 보이고 실제 이미지는 없습니다.
원인:
변환 관련 문의 중 가장 많은 것이 바로 이 문제입니다. 원인은 거의 이미지 경로로 좁혀집니다.
- 변환기가 상대 경로를 해석하지 못함 —
은 에디터에서는 파일 위치를 알지만, 변환기는 모를 수 있습니다 - 인증이 필요한 원격 URL — 비공개 GitHub 리포, Google Drive, Notion에 호스팅된 이미지는 변환 시 다운로드가 안 됩니다
- 프로토콜 문제 —
file://경로나 로컬 절대 경로를 처리하지 못하는 변환기가 있습니다 - 미지원 파일 형식 — SVG, WebP, TIFF를 제대로 처리하지 못하는 변환기가 있습니다
해결법:
| 상황 | 해결법 |
|---|---|
| 상대 경로 사용 중 | 절대 URL로 변환하거나 base64로 임베드 |
| 비공개 서버의 이미지 | 먼저 이미지를 다운로드하고 로컬 경로 사용 |
| SVG 형식 사용 중 | 변환 전에 PNG 또는 WebP로 변환 |
| 10MB 초과 대용량 이미지 | 변환 전에 리사이즈 또는 압축 |
가장 확실한 방법은 공개적으로 접근 가능한 이미지 URL을 사용하는 것입니다.
<!-- 가장 확실함: 절대 URL -->

<!-- 이것도 확실함: base64 임베딩 (작은 이미지용) -->


MarkFlow 사용 시: .md 파일과 이미지 폴더를 함께 드래그 앤 드롭하면 상대 경로가 자동으로 해석됩니다. 이미지 URL이 포함된 마크다운을 붙여넣으면 이미지도 Word 출력에 임베드됩니다.
문제 8: Word 출력에서 이미지가 너무 크거나 너무 작은 경우
증상: 마크다운 프리뷰에서는 적절한 크기의 이미지가 Word 변환 후에는 지나치게 작아지거나 거대해져서 페이지 레이아웃이 깨집니다.
원인:
마크다운에는 이미지 크기를 지정하는 문법이 없습니다.  형식에 width나 height 파라미터가 없기 때문입니다. 대부분의 변환기는 원본 픽셀 크기 그대로 이미지를 삽입하므로, Word 페이지 너비와 맞지 않을 수 있습니다.
해결법:
일부 마크다운 변형(flavor)에서는 HTML로 이미지 크기를 제어할 수 있습니다.
<!-- HTML로 이미지 크기 제어 -->
<img src="./diagram.png" alt="시스템 아키텍처 다이어그램" width="600" />
다만 모든 마크다운-to-Word 변환기가 HTML 태그를 처리하지는 않습니다. 선택지를 정리하면 다음과 같습니다.
- 원본 이미지를 600~800px 너비로 리사이즈한 후 마크다운에 넣는 것이 가장 확실합니다
- HTML img 태그와 width 속성을 사용합니다 — 변환기가 인라인 HTML을 지원하는 경우
- 변환 후 Word에서 조정합니다 — 이미지를 우클릭 > "크기 및 위치" > 원하는 너비 설정
Word 출력 기준 권장 이미지 크기:
- 페이지 전체 너비 이미지: 600~800px
- 설명용 다이어그램: 400~500px
- 아이콘이나 뱃지: 100~200px
문제 9: Base64 임베딩 이미지 변환이 실패하는 경우
증상: 마크다운에 base64 데이터 URI로 임베드한 이미지가 프리뷰에서는 잘 보이는데, 변환 후에는 깨진 이미지가 되거나 완전히 사라집니다.
원인:
Base64로 인코딩된 이미지는 파일 크기가 약 33% 커집니다. 인라인 데이터 URI에 크기 제한을 두는 변환기가 있고, 아예 data:image/...;base64,... 형식을 파싱하지 않는 변환기도 있습니다.
해결법:
- Base64 이미지는 작게 유지합니다 — 인코딩 후 100KB 이하(원본 바이너리 기준 약 75KB)가 적당합니다. 아이콘이나 작은 로고는 괜찮지만, 스크린샷이나 사진은 부적합합니다
- 큰 이미지는 실제 파일로 관리합니다. 호스팅하거나
.md파일과 함께 배치하세요 - 변환기 문서에서 데이터 URI 지원 여부를 확인합니다. MarkFlow는 Word와 PDF 모두에서 base64 이미지를 지원하지만, 실무적으로는 이미지당 2MB 정도가 한계입니다
LaTeX 수식과 Mermaid 다이어그램 문제
문제 10: LaTeX 수식이 일반 텍스트로 출력되는 경우
증상: 제대로 렌더링되어야 할 수식이 Word에서는 $E = mc^2$ 또는 $$\int_{0}^{1} x^2 dx$$ 같은 LaTeX 소스 코드 그대로 표시됩니다.
원인:
LaTeX 수식 지원은 표준 마크다운이나 GFM에 포함되어 있지 않습니다. KaTeX나 MathJax 같은 전용 렌더링 엔진이 필요한 확장 기능입니다. 적절한 플래그 없는 Pandoc, 확장 없는 VS Code, Dillinger 등 기본적인 변환기에서는 LaTeX 구문을 처리하지 못합니다.
해결법:
먼저 구문이 올바른지 확인합니다.
<!-- 인라인 수식: 싱글 달러 기호 -->
공식 $E = mc^2$은 질량-에너지 등가 관계를 나타냅니다.
<!-- 블록 수식: 더블 달러 기호 -->
$$
\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$
그다음 LaTeX을 지원하는 변환기를 사용합니다.
| 도구 | LaTeX 지원 | 비고 |
|---|---|---|
| MarkFlow | 지원 | KaTeX 렌더링, 인라인/블록 모두 지원 |
| Pandoc | 지원 | --mathjax 또는 LaTeX 엔진 필요 |
| Typora | 지원 | KaTeX/MathJax 내장 |
| VS Code | 부분 지원 | KaTeX CSS 확장 필요 |
| Dillinger | 미지원 | 지원 안 함 |

렌더링 실패를 유발하는 흔한 LaTeX 실수:
<!-- 잘못된 예: $ 뒤에 스페이스 -->
$ E = mc^2 $
<!-- 올바른 예: $ 바로 다음에 내용 시작 -->
$E = mc^2$
<!-- 잘못된 예: 닫는 구분자 누락 -->
$$\int_{0}^{1} x^2 dx
<!-- 올바른 예: 구분자 쌍이 맞음 -->
$$\int_{0}^{1} x^2 dx$$
문제 11: Mermaid 다이어그램이 출력에 표시되지 않는 경우
증상: 플로차트나 시퀀스 다이어그램 대신, Word/PDF 출력에 Mermaid 코드가 일반 코드 블록으로 그대로 출력됩니다.
원인:
Mermaid는 JavaScript 기반 렌더링 엔진입니다. 시각적 다이어그램을 생성하려면 브라우저나 Node.js 환경이 필요합니다. 대부분의 마크다운-to-Word 변환기는 마크다운을 텍스트로만 처리하고 JavaScript를 실행하지 않기 때문에 Mermaid 블록을 그냥 코드로 취급합니다.
해결법:
먼저 Mermaid 구문이 올바른지 확인합니다.
```mermaid
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
C --> E[End]
D --> E
```
Mermaid를 Word/PDF로 렌더링할 수 있는 도구:
- MarkFlow — Mermaid 다이어그램을 이미지로 변환해 Word에 임베드합니다
- Typora — 프리뷰에서 Mermaid를 렌더링하고 PDF로 내보내기 가능
- Pandoc —
mermaid-filter플러그인 필요 (npm install -g mermaid-filter)

Mermaid 미지원 변환기에서의 우회 방법:
- Mermaid Live Editor에서 다이어그램을 렌더링합니다
- PNG 또는 SVG로 내보냅니다
- 마크다운의 Mermaid 코드 블록을 이미지 참조로 교체합니다
- 평소처럼 변환합니다
수동 작업이 한 단계 추가되지만, 어떤 변환기에서든 확실하게 다이어그램을 표시할 수 있습니다.
서식과 구조 관련 문제
문제 12: Word 출력에서 제목 수준이 잘못된 경우
증상: Word의 제목 계층 구조가 마크다운과 일치하지 않습니다. H2가 H1으로 나타나거나, 모든 제목이 같은 크기로 렌더링됩니다.
원인:
주요 원인은 두 가지입니다.
- 마크다운에 H1이 여러 개 있습니다. 문서의 H1은 하나(제목)만 있어야 합니다. H1이 여러 개 감지되면 변환기가 제목 수준을 재배치하는 경우가 있습니다
- 변환기가 마크다운 제목을 Word 스타일에 다르게 매핑합니다. 첫 번째 제목을 수준에 관계없이 문서 제목으로 처리하는 도구도 있습니다
해결법:
올바른 제목 계층을 지키세요.
# 문서 제목 (H1 — 딱 한 번만 사용)
## 섹션 제목 (H2 — 주요 섹션)
### 하위 섹션 (H3 — 섹션 내 세부 구분)
#### 세부 사항 (H4 — 거의 안 씀)
- 수준을 건너뛰지 마세요 — H2에서 바로 H4로 가면 안 됩니다
- H1은 문서 상단에 한 번만 사용합니다. 또는 제목 메타데이터에서 변환기가 자동으로 추가하게 합니다
- Word 출력의 "스타일" 패널을 확인합니다 — 제목이 "제목 1", "제목 2" 등으로 표시되어야 합니다. "본문"으로 나오면 변환기가 올바르게 매핑하지 못한 것입니다
문제 13: 중첩 목록의 들여쓰기가 사라지는 경우
증상: 세심하게 중첩한 글머리 기호 목록이나 번호 목록이 Word 출력에서는 전부 같은 레벨로 평탄화되어 표시됩니다.
원인:
들여쓰기의 불일치가 원인입니다. 마크다운은 중첩 수준을 감지하기 위해 일관된 스페이스 수가 필요합니다. 탭과 스페이스를 섞거나, 어디는 2스페이스 어디는 3스페이스를 쓰면 파서가 혼란을 겪습니다.
해결법:
중첩 레벨마다 4스페이스(또는 탭 1개)를 일관되게 사용합니다.
- 1단계 항목
- 2단계 항목
- 3단계 항목
- 다시 2단계
- 다시 1단계
1. 첫 번째 항목
1. 하위 항목 1
2. 하위 항목 2
2. 두 번째 항목
- 번호 아래 글머리 기호 혼합
흔한 실수:
<!-- 잘못된 예: 들여쓰기 불일치 (2스페이스와 3스페이스 혼용) -->
- 항목 A
- 하위 A (2스페이스)
- 하위 B (3스페이스 — 파서 혼란)
<!-- 올바른 예: 4스페이스 통일 -->
- 항목 A
- 하위 A
- 하위 B
그래도 목록이 평탄화되면 변환기를 바꿔보세요. MarkFlow는 순서 있는/없는 혼합 목록을 포함해 중첩 목록의 들여쓰기를 Word 출력에서 유지합니다.
문제 14: 각주가 사라지거나 깨지는 경우
증상: [^1] 같은 각주 참조가 변환된 문서에 리터럴 텍스트로 표시되고, 마크다운 하단의 각주 내용이 사라지거나 일반 단락으로 렌더링됩니다.
원인:
각주는 GFM 확장 기능이며, 원래 마크다운 사양에는 포함되어 있지 않습니다. 기본 마크다운만 지원하는 변환기에서는 각주 구문을 처리할 수 없습니다.
해결법:
올바른 각주 구문을 확인합니다.
이 주장에는 출처가 필요합니다[^1]. 다른 포인트[^note].
[^1]: Smith, J. (2025). "Research Paper Title." Journal Name.
[^note]: 여러 문장으로 구성된 긴 각주입니다.
이어지는 행은 4스페이스로 들여쓰기합니다.
확인해야 할 포인트는 다음과 같습니다.
- 참조
[^id]와 정의[^id]:가 같은 식별자를 사용하고 있는지 - 각주 정의가 문서 끝에 위치하는지 (최소한 모든 참조보다 뒤에)
- 변환기가 GFM 각주를 지원하는지 — MarkFlow, Pandoc, Typora 모두 올바르게 처리합니다
문제 15: 이모지가 빈 네모로 표시되는 경우
증상: 체크 표시, 로켓, 경고 표시 등의 이모지가 Word 출력에서 빈 사각형이나 물음표로 표시됩니다.
원인:
Word 문서에 적용된 폰트에 이모지 글리프가 포함되어 있지 않습니다. 변환기가 마크다운 텍스트를 Word에 매핑할 때 Calibri 같은 기본 폰트를 적용하는데, 이 폰트에는 유니코드 이모지 문자가 없을 수 있습니다.
해결법:
- 변환 후 대응: Word에서 이모지 문자를 선택하고 폰트를 "Segoe UI Emoji"(Windows) 또는 "Apple Color Emoji"(macOS)로 변경합니다
- 변환 전 대응: 이모지 표시가 중요하면 텍스트 대체어나 이미지로 바꾸는 것을 검토합니다
- 이모지 폰트를 지원하는 변환기 사용: MarkFlow는 Word 출력에서 이모지 문자를 적절한 시스템 폰트로 매핑합니다
| 접근법 | 장점 | 단점 |
|---|---|---|
| 마크다운에 유니코드 이모지 직접 사용 | 간편하고 표준적 | 폰트에 따라 표시가 달라짐 |
| HTML 이모지 숏코드 | 호환성이 높음 | 모든 변환기가 숏코드를 해석하지는 않음 |
| 이미지로 대체 | 확실하게 표시됨 | 작업이 번거롭고 파일 크기 증가 |
예방법: 변환 문제를 미리 방지하기
대부분의 변환 문제는 사전에 방지할 수 있습니다. 다음 습관을 마크다운 작성 워크플로에 적용하세요.
변환 전에 검증하기
마크다운 린터로 구문 문제를 변환 전에 잡아냅니다.
# markdownlint CLI 설치
npm install -g markdownlint-cli
# 파일 린트
markdownlint document.md
VS Code 사용자라면 "markdownlint" 확장을 설치하면 실시간으로 검증됩니다.
출력과 유사한 프리뷰에서 확인하기
에디터의 프리뷰와 변환기의 출력은 서로 다른 렌더링 엔진을 사용합니다. VS Code에서 잘 보여도 Word에서는 깨질 수 있습니다. 최종 내보내기 전에 반드시 테스트 변환을 해보세요.
마크다운 스타일 통일하기
규칙을 정하고 일관되게 지키세요.
- 들여쓰기: 중첩에 4스페이스
- 줄바꿈: 블록 사이에 빈 줄 1개
- 코드 블록: 항상 펜스 방식(들여쓰기 방식 아님), 항상 언어 태그 포함
- 이미지: 일관된 경로 형식 (전부 상대 또는 전부 절대)
- 테이블: 모든 행에서 앞뒤 파이프 작성
마크다운 작성법이 아직 익숙하지 않다면 마크다운 기본 구문 가이드에서 각 요소를 자세히 다루고 있습니다. 각주나 태스크 리스트 같은 확장 기능은 확장 구문 가이드를 참고하세요.
테스트용 문서 만들어 두기
사용하는 모든 요소(테이블, 코드 블록, 수식, 다이어그램, 중첩 목록, 각주, 이모지)의 예시를 담은 마크다운 파일을 하나 만들어 두세요. 도구를 업데이트할 때마다 이 파일로 변환 테스트를 하면, 실제 문서에 영향이 생기기 전에 문제를 발견할 수 있습니다.
어떤 변환기를 써야 할까
문제 유형에 따라 적합한 도구가 다릅니다.
| 필요한 것 | 추천 도구 | 이유 |
|---|---|---|
| 설정 없이 다 되는 것 | MarkFlow | GFM, LaTeX, Mermaid, 이모지, 코드 하이라이팅을 설정 없이 지원 |
| 복잡한 수식이 포함된 학술 논문 | Pandoc + LaTeX 엔진 | 최고 품질의 수식 렌더링 |
| Word 스타일을 세밀하게 제어 | Pandoc + 커스텀 reference.docx | 템플릿 기반 접근 |
| 간단한 문서 빠르게 변환 | 아무 브라우저 기반 도구 | 기본 마크다운은 대부분의 변환기에서 처리 가능 |
| CI/CD에서 배치 처리 | Pandoc 또는 markdown-pdf | 스크립트화, 자동화 가능 |
자주 묻는 질문
Q: 마크다운 테이블을 Word로 변환하면 왜 깨지나요? A: 가장 흔한 원인은 파이프 구문의 불일치입니다. 앞뒤 파이프 누락이나 구분선 행의 열 수 불일치가 대표적입니다. 변환 전에 마크다운 프리뷰에서 테이블 구문을 확인하세요.
Q: 코드 블록의 구문 강조를 Word 변환 후에도 유지하려면 어떻게 하나요?
A: 트리플 백틱 바로 뒤에 언어명을 지정하세요 (예: ```python). 그리고 MarkFlow처럼 Word 출력에서 하이라이팅을 유지하는 변환기를 사용하세요.
Q: 마크다운을 Word로 변환한 후 이미지가 안 나오는 이유는 뭔가요?
A: 변환기가 이미지 경로를 해석하지 못하고 있습니다. 원격 이미지에는 절대 URL을 사용하거나, MarkFlow처럼 .md 파일과 이미지 폴더를 업로드하면 상대 경로를 처리하는 도구를 사용하세요.
Q: LaTeX 수식을 서식 유지한 채 Word로 변환할 수 있나요? A: 네, LaTeX을 지원하는 변환기가 필요합니다. MarkFlow, Pandoc(수식 플래그 사용), Typora가 LaTeX을 올바르게 렌더링합니다. 기본 변환기에서는 생 LaTeX 소스가 텍스트로 출력됩니다.
Q: 변환된 문서에서 Mermaid 다이어그램이 코드로만 나오는 이유는 뭔가요? A: 대부분의 변환기는 Mermaid가 필요로 하는 JavaScript를 실행하지 않기 때문입니다. MarkFlow로 자동 렌더링하거나, Mermaid Live Editor에서 다이어그램을 이미지로 미리 만들어 사용하세요.
Q: Word 출력에서 중첩 목록의 들여쓰기를 어떻게 고치나요? A: 마크다운에서 중첩 레벨마다 정확히 4스페이스를 사용하세요. 탭과 스페이스를 섞지 마세요. 문제가 계속되면 다른 변환기를 시도해 보세요. 변환기에 따라 중첩 목록 처리 품질이 다릅니다.
관련 리소스
- 마크다운 → Word 변환기 — 전체 서식 지원 변환
- 마크다운 → PDF 변환기 — 인쇄용 PDF 생성
- 마크다운 → HTML 변환기 — 깔끔한 시맨틱 HTML 출력
- 마크다운 기본 구문 가이드 — 기초 완벽 정리
- 마크다운 확장 구문 가이드 — 고급 기능과 GFM 확장
- 마크다운 → Word 완벽 가이드 — 변환 워크플로 전체 안내
이 도구가 유용한가요? 널리 공유해주세요.