마크다운 PDF 변환
무료 마크다운 PDF 변환: 왼쪽에 쓰면 오른쪽에 실시간 미리보기. 표·코드·Mermaid 다이어그램 지원, 클릭 한 번에 PDF 저장, 공유 링크도. 가입 없이, 업로드 없이.
- 실시간 미리보기
- 다이어그램 지원
- 원클릭 PDF 저장
- 링크로 공유
🔒 모든 계산은 브라우저 안에서 이뤄지며 데이터는 어떤 서버에도 업로드되지 않아요.
이럴 때 쓰면 좋아요
- 기술 문서·README: 마크다운 문서를 깔끔하게 정리된 PDF로 바꿔 고객이나 상사에게 전달해요.
- 이력서·포트폴리오: 마크다운으로 이력서를 쓰면 제목과 표가 자동으로 정리되고, PDF로 저장해 바로 제출할 수 있어요.
- 회의록·노트: Notion이나 Obsidian에서 내보내거나 복사한 마크다운을 그대로 붙여 넣어 PDF로 만들어요.
- 순서도·시스템 구조: Mermaid로 순서도와 시퀀스 다이어그램을 그려 본문과 함께 PDF로 출력해요.
사용 방법
- 왼쪽에 마크다운을 입력하거나 붙여넣고, 또는 ‘파일 열기’로 .md 파일을 불러오세요. 오른쪽에 서식이 적용된 결과가 바로 표시돼요. 문법이 낯설다면 먼저 ‘예시’를 눌러 보세요.
- ```mermaid 로 시작하는 코드 블록을 쓰면 순서도, 시퀀스 다이어그램 등이 미리보기에 바로 그려져요.
- ‘PDF 내보내기’를 누르면 인쇄 창이 열려요. ‘대상’에서 ‘PDF로 저장’을 선택해 저장하세요.
사용 예시
첫 줄이 "# **프로젝트** 주간 보고 2026/10"이면 ‘PDF 내보내기’를 눌렀을 때 인쇄 창의 기본 파일 이름은 "프로젝트 주간 보고 2026 10"이 돼요. 굵게 표시 기호는 빠지고, 파일 이름에 쓸 수 없는 슬래시는 공백으로 바뀌어요. H1이 없으면 첫 번째 제목을 사용해, "## 회의록: Q3?"만 있으면 "회의록 Q3"가 돼요. 제목이 전혀 없으면 "문서"예요.
<img src="logo.png" onerror="alert(1)">, [클릭](javascript:alert(1)), <script>를 붙여넣으면 정리 후에는 <img src="logo.png">와 링크 주소가 없는 "클릭" 글자만 남아요. <script>는 통째로 삭제되어 미리보기에서 아무것도 실행되지 않아요.
체크리스트 "- [x] 완료" "- [ ] 할 일"은 체크된 것과 체크되지 않은 것, 클릭할 수 없는 체크박스 두 개로 바뀌며 PDF에도 그대로 나와요. 또 "첫째 줄" 바로 다음 줄에 "둘째 줄"을 써도 같은 문단이 돼요(GitHub과 동일). 문단을 나누려면 빈 줄을 넣으세요.
결과 해석
- 오른쪽 미리보기가 곧 PDF의 내용이에요. 인쇄할 때는 미리보기 영역만 출력되고 사이트 머리글, 버튼, 편집 창은 들어가지 않아요. 다크 모드에서는 미리보기가 어둡게 보이지만 PDF는 항상 흰 바탕에 짙은 글씨예요.
- 다이어그램 자리에 빨간 오류 상자가 나오면 그 Mermaid 문법에 오류가 있다는 뜻이에요. 상자 안에 오류 메시지와 원본 코드가 있으며, 고치면 자동으로 다시 그려져요. 오류 상자도 인쇄되니 내보내기 전에 확인하세요.
- 인쇄 창에서 ‘배경 그래픽’을 켜야 표 머리글과 코드 영역의 옅은 배경색이 인쇄돼요. ‘머리글과 바닥글’을 켜면 페이지마다 주소, 날짜, 페이지 번호가 들어가요.
- 표, 코드, 다이어그램, 인용문은 되도록 페이지가 나뉘지 않게 하고, 제목만 페이지 끝에 남지 않게 해요. 다만 한 블록이 한 페이지보다 길면 나뉘어요.
원리와 계산 방법
- 변환: marked로 GitHub Flavored Markdown(GFM) 규격에 따라 마크다운을 HTML로 바꿔요. 표, 취소선, 체크리스트, 자동 링크를 지원하며 줄바꿈 한 번으로는 줄이 바뀌지 않아요.
- 보안: 변환된 HTML은 반드시 DOMPurify로 정리한 뒤 페이지에 넣어요. <script>, onerror 같은 이벤트 속성, javascript: 링크, iframe을 제거하고, <style>과 폼 요소도 막아 붙여넣은 내용이 코드를 실행하거나 페이지를 망가뜨리지 않게 해요.
- 다이어그램: 내용에 ```mermaid 블록이 있을 때만 Mermaid 프로그램(용량이 큰 편)을 내려받고, 한 번 받은 뒤에는 재사용해요. strict 보안 수준으로 SVG를 그리며, 그린 다이어그램은 캐시해 입력 중에 다른 다이어그램을 다시 그리지 않아요.
- 내보내기: ‘PDF 내보내기’는 브라우저의 인쇄 기능을 사용해요. 인쇄용 스타일(@media print)로 미리보기 영역만 남기고 A4 용지, 위아래 16 mm·좌우 15 mm 여백, 밝은 색상으로 출력해요. 기본 파일 이름은 문서의 첫 번째 H1에서 가져와요.
한계와 주의점
- PDF는 브라우저의 인쇄 기능으로 만들어지므로 페이지 나눔 위치, 글꼴, 머리글과 바닥글이 브라우저마다 달라요. 휴대폰에서는 인쇄나 공유 메뉴에서 PDF로 저장을 선택하며, 단계는 시스템에 따라 달라요.
- 수식(LaTeX), 각주, 목차 자동 생성, 코드 구문 강조는 지원하지 않으며 제목이 PDF 책갈피가 되지도 않아요.
- 이미지는 URL(https://…)로만 넣을 수 있고 컴퓨터 안의 파일 경로는 읽을 수 없어요. 인터넷 이미지는 연결되어 있어야 표시돼요.
- Mermaid 프로그램을 한 번도 불러온 적이 없으면 오프라인에서도 일반 마크다운은 변환되지만 다이어그램은 불러올 수 없다고 표시돼요.
자주 묻는 질문
페이지를 직접 나누려면 어떻게 하나요?
나누고 싶은 위치에 <div style="break-after: page"></div>를 한 줄로 입력하고 앞뒤로 빈 줄을 넣으세요. 그 뒤의 내용은 새 페이지에서 시작해요.
PDF 위쪽에 주소와 날짜가 찍히는데 어떻게 없애나요?
브라우저가 넣는 머리글과 바닥글이에요. 인쇄 창의 ‘설정 더보기’에서 ‘머리글과 바닥글’ 체크를 해제하세요.
어떤 Mermaid 다이어그램을 지원하나요?
순서도(flowchart), 시퀀스 다이어그램(sequenceDiagram), 간트 차트(gantt), 클래스 다이어그램, 상태 다이어그램, 원형 차트 등 Mermaid가 지원하는 다이어그램은 모두 사용할 수 있어요. 문법이 틀리면 미리보기의 해당 위치에 오류 메시지와 원본 코드가 표시돼요.
문서가 업로드되나요?
아니요. 변환, 미리보기, PDF 생성 모두 브라우저 안에서 처리되며 내용은 서버로 전송되거나 저장되지 않아요. 페이지를 닫으면 사라져요.
마크다운 문서를 다른 사람에게 공유할 수 있나요?
네. ‘공유 링크 복사’를 누르면 본문이 압축되어 URL의 # 뒤에 들어가고, 받는 사람은 같은 미리보기를 열어 바로 PDF로 저장할 수 있어요. 이 부분은 서버로 전송되지 않아요. 문서가 길어 링크가 너무 길어지면 파일로 공유하도록 안내해요.
Notion이나 Obsidian 노트를 PDF로 바꿀 수 있나요?
네. Notion의 ‘내보내기’에서 Markdown 형식으로 받거나 Obsidian에서 내용을 복사해 붙여 넣으면 돼요. Obsidian의 [[위키링크]] 같은 전용 문법은 지원하지 않아 원문 그대로 표시돼요.
PDF에 이미지를 넣을 수 있나요?
 형식으로 인터넷 이미지 주소를 넣을 수 있어요. 내 컴퓨터에 있는 로컬 이미지 경로는 브라우저가 읽을 수 없으므로 먼저 이미지 호스팅이나 웹사이트에 올려야 해요.
마크다운이란 무엇인가요?
간단한 기호로 서식을 표시하는 텍스트 작성 방식이에요. 예를 들어 #은 제목, **로 감싸면 굵게, -로 시작하면 목록이에요. Word보다 빨리 쓸 수 있고 Git으로 버전을 관리하기도 편해요.
참고 자료
- GitHub Flavored Markdown Spec — GitHub
- Printing — MDN Web Docs
- Usage — Mermaid