Mermaid 다이어그램을 PNG, SVG, Markdown으로 내보내기
다이어그램은 보여질 수 있는 곳에서만 쓸모가 있습니다. mermaid는 네 가지 탈출구를 제공합니다 — 이미지, 벡터, 소스, 그리고 스스로 렌더링되는 Markdown 블록 — 그리고 어떤 것이 맞는지는 전적으로 다이어그램이 어디로 가느냐에 달려 있습니다. 이 글은 짧은 요약과 함께, 각 방법에서 무엇이 틀어질 수 있는지도 다룹니다.
형식부터 정하세요
| 목적지 | 용도 | 이유 |
|---|---|---|
| GitHub, GitLab, Notion, Obsidian | Markdown 블록 | 네이티브로 렌더링되고 diff도 가능합니다 — 별도로 관리할 파일이 없습니다. |
| 슬라이드, 명세서, 채팅 메시지 | PNG | 어디에나 붙여넣을 수 있고, 렌더러가 필요 없으며, 어디서나 똑같이 보입니다. |
| 웹사이트, 인쇄물 | SVG | 벡터 — 어떤 크기에서도 선명하고, 텍스트도 선택 가능한 채로 남습니다. |
| 다른 에디터, 저장소 | .mmd 소스 | 나중에 수정할 수 있습니다. 이미지는 막다른 길입니다. |
목적지가 mermaid를 렌더링할 수 있다면, 아예 내보내지 마세요. 텍스트로 커밋된 다이어그램은 줄 단위로 리뷰할 수 있지만, 같은 다이어그램을 PNG로 커밋하면 통째로 교체하는 것만 가능합니다.
이 에디터에서 내보내기
코드 탭을 여세요 — 내보내기 버튼은 툴바에 있고, 각 버튼은 현재 렌더링된 결과에 대해 동작합니다.
- Copy SVG —
<svg>마크업을 클립보드에 담아, HTML 파일이나 디자인 툴에 바로 붙여넣을 수 있게 합니다. - Download SVG —
diagram.svg로 저장합니다. - Download PNG —
diagram.png로 저장하며, 흰 배경 위에 2배 해상도로 렌더링되어 고밀도 화면에서도 선명하고 흰 슬라이드 위에서 투명 얼룩으로 나타나는 일이 없습니다. - Download .mmd — mermaid 소스를 일반 텍스트 파일로 저장합니다.
- Download .md (Notion) — 소스를 ```mermaid 펜스 블록으로 감싸 저장하며, Notion, GitHub, Obsidian은 붙여넣을 때 이를 렌더링합니다.
슬라이드 덱이라면 PNG를 선택하세요. 문서 제목, 포스터, 인쇄물처럼 크기가 조정될 것이라면 SVG를 선택하세요 — PNG를 내보낸 크기보다 크게 확대하면 즉시 흐릿해집니다.
대신 텍스트로 남기기
펜스 블록은 그 자리에서 계속 수정 가능한 상태로 남는 유일한 내보내기 방식입니다. 백틱 세 개, mermaid라는 단어, 다이어그램, 그리고 다시 백틱 세 개:
```mermaid
flowchart LR
A[Write] --> B[Review]
B --> C[Merge]
```- GitHub — README 파일, 이슈, 풀 리퀘스트, 댓글에서 렌더링됩니다.
- GitLab — 위키, 이슈, 머지 리퀘스트에서 렌더링됩니다.
- Notion — 코드 블록에 붙여넣고 언어를 Mermaid로 설정하세요.
- Obsidian — 미리보기와 게시된 노트에서 렌더링됩니다.
- Docusaurus / MkDocs Material / VitePress — 빌드된 문서에서 mermaid 블록이 렌더링됩니다.
흔히 틀어지는 것들
PNG가 흐릿해요
PNG는 고정 해상도입니다 — 정해진 픽셀 크기로 내보내지고, 그보다 크게 확대하면 보간이 일어납니다. 이 에디터가 2배 해상도로 내보내는 것도 그 때문입니다. 그래도 부족하다면 SVG를 내보내 원하는 크기로 변환하거나, 그냥 SVG를 사용하세요.
SVG에 배경이 없어요
SVG는 설계상 투명하게 내보내지므로, 어두운 노드 텍스트가 어두운 슬라이드 위에서 사라집니다. SVG를 밝은 카드 위에 올리거나, 흰 배경으로 내보내지는 PNG를 사용하세요.
다른 곳에서 폰트가 다르게 보여요
SVG는 폰트를 내장하지 않고 폰트 계열을 참조만 하므로, 해당 폰트가 없는 기기에서는 다른 폰트로 대체되어 라벨 박스가 어긋납니다. 뷰어의 폰트를 통제할 수 없다면 PNG를 사용하세요.
다이어그램이 잘려요
내보내기는 현재 렌더링된 화면을 그대로 읽으므로, 큰 다이어그램을 내보내기 전에 화면을 다시 가운데로 맞추세요. 노드 라벨이 지나치게 길다면 <br>로 줄을 나누세요 — mermaid는 라벨을 자동으로 줄바꿈하지 않습니다.
클릭 두 번으로 내보내기
에디터를 열고, 다이어그램을 붙여넣거나 그린 뒤, SVG나 PNG, 소스를 가져가세요. 계정 없이도 모두 이용할 수 있습니다.
자주 묻는 질문
mermaid를 PNG로 변환하려면 어떻게 하나요?
다이어그램을 렌더링한 뒤 Download PNG를 사용하세요. 에디터는 렌더링된 SVG를 2배 배율에 흰 배경으로 캔버스에 그려서 결과를 저장합니다 — 서버 왕복이 없으므로 다이어그램은 브라우저를 벗어나지 않습니다.
투명한 PNG로 내보낼 수 있나요?
PNG 버튼으로는 안 됩니다 — 의도적으로 흰색을 채우는데, 투명 배경 위의 어두운 다이어그램 텍스트는 PNG가 붙여지는 대부분의 장소에서 읽기 어렵기 때문입니다. 대신 SVG를 내보내세요 — SVG는 투명합니다.
크기 제한이 있나요?
고정된 제한은 없습니다. 내보내기는 브라우저 안에서 이루어지므로, 실질적인 한계는 브라우저가 렌더링할 수 있는 범위입니다 — 이는 다이어그램이 사람이 읽기 어려워지는 지점을 훨씬 지나서까지 이어집니다.
내보낸 후에도 다이어그램을 수정 가능한 상태로 유지하려면요?
소스를 보관하세요. 이미지와 함께 .mmd 파일이나 Markdown 블록을 다운로드하세요. PNG나 SVG는 다시 mermaid로 되돌릴 수 없지만, 소스는 에디터에 그대로 다시 붙여넣을 수 있습니다.