Graphviz 16.1.0은 DOT 언어로 노드와 연결 관계를 작성하면 구조도, 의존성 그래프와 네트워크를 자동 배치하는 무료 오픈소스 프로그램입니다. Windows 64비트 EXE 설치판과 압축 해제형 ZIP을 제공하며, 설치 뒤 PowerShell의 dot 명령으로 SVG·PNG를 만듭니다.
Graphviz에는 일반 드로잉 프로그램 같은 메인 편집 창이 없다는 점부터 DOT 파일 작성, dot -V 확인, dot·neato·sfdp 엔진 선택, SVG·PNG·PDF 출력, PATH·문법·플러그인·한글 글꼴 오류 해결까지 실제 16.1.0 결과를 기준으로 설명합니다.
Graphviz는 어떤 그래프 시각화 도구인가요?
Graphviz는 텍스트로 작성한 그래프 구조를 읽고 노드 위치와 간선을 계산해 다이어그램으로 렌더링합니다. 코드 의존성, 네트워크 연결, 조직 흐름과 데이터 계보처럼 관계가 중심인 그림에 적합합니다.
dot은 방향 계층, neato와 fdp는 스프링 모델, sfdp는 큰 네트워크, circo는 원형, twopi는 방사형 배치를 담당합니다. 출력은 SVG, PNG, PDF, WebP와 JSON 등으로 저장할 수 있습니다.
Graphviz 16.1.0 실제 dot·neato 렌더링 결과
공식 16.1.0 Windows 64비트 ZIP에서 dot.exe와 neato.exe를 실행해 만든 결과입니다. 같은 DOT 언어로 방향 흐름, 무방향 네트워크와 cluster 그룹을 자동 배치했습니다.
| 계층 배치 | dot |
|---|---|
| 네트워크 | neato·sfdp |
| 원형 | circo |
| 방사형 | twopi |
| 벡터 출력 | SVG·PDF |
| 이미지 출력 | PNG·WebP |
설치부터 첫 SVG·PNG 저장까지
Graphviz 16.1.0은 DOT 언어로 노드와 연결 관계를 적으면 구조도, 의존성 그래프와 네트워크 다이어그램을 자동 배치하는 무료 오픈소스 도구입니다. Windows 64비트 EXE 설치판이나 ZIP을 준비한 뒤 dot.exe를 명령줄에서 실행합니다.
Graphviz 자체는 일반 그림 편집기처럼 새 문서를 여는 메인 GUI가 없습니다. 텍스트 편집기로 workflow.dot을 만든 뒤 PowerShell에서 dot -Tsvg workflow.dot -o workflow.svg를 실행하고, PNG가 필요하면 -Tpng로 바꿉니다. 생성된 파일을 직접 열어 노드·간선·글꼴을 확인하면 첫 작업이 끝납니다.
- graphviz-install-16.1.0-win64.exe를 설치하거나 Graphviz-16.1.0-win64.zip을 풉니다.
- 새 PowerShell을 열고 dot -V로 16.1.0이 표시되는지 확인합니다.
- 텍스트 편집기에서 digraph와 중괄호를 사용해 workflow.dot을 저장합니다.
- dot -Tsvg workflow.dot -o workflow.svg를 실행합니다.
- dot -Tpng workflow.dot -o workflow.png도 실행합니다.
- SVG와 PNG를 열어 노드 이름, 화살표 방향과 한글 글꼴을 확인합니다.
16.1.0 무료 오픈소스 배포
Graphviz 공식 다운로드 페이지는 16.1.0을 현재 안정판으로 제공하며 공식 GitLab 릴리스 시각은 2026년 9월 4일입니다. 공식 라이선스 페이지는 현행 Graphviz를 Eclipse Public License 2.0 기반 오픈소스로 안내합니다.
이번 검증에서는 공식 64비트 ZIP을 풀어 dot -V를 실행했고 graphviz version 16.1.0과 빌드 문자열 20260904.0139를 확인했습니다. 개발판이나 오래된 패키지 관리자의 버전과 섞지 않고 공식 16.1.0 파일을 기준으로 설치합니다.
64비트 EXE와 ZIP 선택
일반 설치는 windows_10_cmake_Release_graphviz-install-16.1.0-win64.exe를 사용합니다. 파일 크기는 8,070,590바이트이며 설치 후 Graphviz bin 폴더를 PATH에서 사용할 수 있게 구성합니다.
설치 권한이 없거나 프로젝트별로 보관하려면 Graphviz-16.1.0-win64.zip을 받아 원하는 폴더에 풉니다. ZIP 크기는 9,767,733바이트이며 bin 폴더의 dot.exe를 전체 경로로 실행하거나 그 bin 경로를 사용자 PATH에 추가합니다.
dot -V로 설치 확인
설치가 끝난 뒤 열려 있던 터미널을 닫고 새 PowerShell을 엽니다. dot -V를 실행해 dot – graphviz version 16.1.0이 표시되면 명령 경로가 연결된 것입니다.
명령을 찾을 수 없다는 메시지가 나오면 Graphviz의 bin 폴더 위치를 확인합니다. ZIP판은 압축을 푼 Graphviz-16.1.0-win64\bin을 사용하고, 설치판은 설치 위치의 bin을 PATH에 추가한 뒤 새 터미널에서 다시 확인합니다.
첫 workflow.dot 작성
DOT 파일은 digraph 이름과 중괄호 안에 노드·간선 문장을 적습니다. 방향 그래프는 A -> B를, 무방향 그래프는 graph와 A — B를 사용합니다. 세미콜론은 문장을 구분하기 쉽게 넣습니다.
예를 들어 digraph workflow { "구조 작성" -> "dot 레이아웃"; "dot 레이아웃" -> "SVG 저장"; }를 workflow.dot으로 저장합니다. 한글 파일은 UTF-8로 저장하고 label에 공백이나 특수 문자가 있으면 큰따옴표로 감쌉니다.
SVG로 저장
PowerShell에서 DOT 파일이 있는 폴더로 이동한 뒤 dot -Tsvg workflow.dot -o workflow.svg를 실행합니다. -Tsvg는 출력 형식을, -o 뒤 값은 저장 파일 이름을 정합니다.
SVG는 확대해도 선과 글자가 깨지지 않아 웹 문서와 편집 작업에 알맞습니다. 생성된 workflow.svg를 브라우저나 벡터 편집기에서 열어 노드가 빠지지 않았는지 확인합니다.
PNG로 저장
이미지 파일이 필요하면 dot -Tpng workflow.dot -o workflow.png를 실행합니다. 해상도를 높이려면 dot -Tpng -Gdpi=180 workflow.dot -o workflow-180.png처럼 graph dpi를 지정합니다.
PNG는 블로그나 문서에 바로 넣기 편하지만 크기를 키우면 흐려질 수 있습니다. 수정 가능성과 선명도가 중요하면 SVG도 함께 보관합니다.
dot 레이아웃으로 방향 흐름 배치
dot은 방향성이 있는 계층·흐름 그래프의 기본 레이아웃입니다. 단계가 위에서 아래로 이어지고 간선 교차와 길이를 줄이도록 배치합니다.
왼쪽에서 오른쪽으로 흐르게 하려면 graph 속성에 rankdir=LR을 넣습니다. 같은 단계에 놓을 노드는 { rank=same; A; B; }로 묶고 결과를 다시 렌더링합니다.
neato와 sfdp로 네트워크 배치
neato는 크지 않은 무방향 그래프를 스프링 모델로 배치할 때 적합합니다. neato -Tpng network.dot -o network.png를 실행하거나 dot -Kneato -Tpng network.dot -o network.png처럼 엔진을 지정합니다.
노드가 많은 무방향 네트워크는 sfdp를 먼저 시험합니다. circo는 원형, twopi는 방사형 배치에 맞습니다. 같은 DOT를 여러 엔진으로 렌더링해 겹침과 간선 길이가 가장 읽기 좋은 결과를 선택합니다.
노드 모양·색·글꼴 설정
node [shape=box, style="rounded,filled", fillcolor="#EAF6FF"]처럼 기본 노드 속성을 선언하면 뒤에 나오는 노드에 함께 적용됩니다. 특정 노드만 바꾸려면 A [shape=ellipse, color="#1479C9"]처럼 따로 지정합니다.
한글 글꼴은 graph, node, edge의 fontname을 Malgun Gothic처럼 시스템에 설치된 이름으로 지정합니다. 다른 PC에서도 같은 결과가 필요하면 대상 환경에 글꼴이 있는지 확인하고 SVG를 열어 대체 글꼴이 적용되지 않았는지 봅니다.
간선 화살표와 라벨 설정
edge [color="#506070", penwidth=2]로 기본 선 색과 굵기를 정합니다. A -> B [label="요청", style=dashed]처럼 간선마다 설명과 스타일을 줄 수 있습니다.
화살표 모양은 arrowhead, 시작점 모양은 arrowtail 속성으로 조정합니다. 라벨이 선과 겹치면 fontsize, labeldistance와 레이아웃 방향을 바꾸고 다시 렌더링합니다.
cluster로 관련 노드 묶기
이름이 cluster로 시작하는 subgraph는 dot에서 테두리와 제목이 있는 묶음으로 표시됩니다. 클라이언트, 서버, 데이터처럼 역할이 다른 노드를 그룹으로 나눌 때 유용합니다.
subgraph cluster_server { label="서버"; API; "작업 큐"; }처럼 작성하고 그룹 사이 간선을 바깥에서 연결합니다. cluster 이름이 겹치지 않는지 확인하고 compound가 필요한 복잡한 연결은 lhead와 ltail을 사용합니다.
PNG·SVG 외 출력 형식 확인
공식 출력 형식 문서는 PDF, SVG, PNG, JPEG, JSON, DOT, WebP 등 여러 형식을 안내합니다. 현재 설치 빌드에서 실제로 쓸 수 있는 형식은 dot -T?를 실행해 확인합니다.
PDF는 dot -Tpdf input.dot -o output.pdf, WebP는 dot -Twebp input.dot -o output.webp처럼 같은 구조로 저장합니다. 빌드에 해당 렌더러가 없으면 오류 메시지의 사용 가능한 형식 목록을 기준으로 선택합니다.
여러 파일을 같은 규칙으로 변환
DOT 파일이 여러 개라면 PowerShell에서 Get-ChildItem *.dot으로 목록을 읽고 각 파일에 dot -Tsvg를 실행할 수 있습니다. 출력 이름은 입력 파일의 BaseName에 .svg를 붙여 충돌을 막습니다.
자동화에서는 dot의 종료 코드와 출력 파일 존재를 함께 확인합니다. 문법 오류가 난 파일을 건너뛰지 말고 표준 오류 메시지를 로그에 남겨 어느 줄에서 멈췄는지 확인합니다.
문법 오류 line 근처 해결
syntax error in line 메시지가 나오면 표시된 줄과 바로 앞 줄의 중괄호, 큰따옴표, 대괄호를 확인합니다. 방향 그래프에 –를 쓰거나 무방향 graph에 ->를 쓰지 않았는지도 봅니다.
노드 이름에 공백, 하이픈, 콜론이 있으면 큰따옴표로 감쌉니다. HTML 형태 label을 쓰는 경우 꺾쇠가 짝을 이루고 &, <, > 문자가 올바르게 처리됐는지 확인합니다.
dot 명령을 찾지 못할 때
PowerShell에서 dot이 인식되지 않으면 where.exe dot으로 현재 연결된 실행 파일을 확인합니다. 아무 경로도 나오지 않으면 Graphviz bin을 PATH에 추가하거나 bin\dot.exe의 전체 경로를 사용합니다.
설치 직후 기존 터미널은 변경된 PATH를 모를 수 있으므로 새 창을 엽니다. 다른 프로그램에 포함된 오래된 dot.exe가 먼저 잡히면 where.exe dot 결과 순서를 확인하고 16.1.0 bin을 앞쪽에 둡니다.
플러그인과 출력 형식 오류 해결
There is no layout engine support 또는 출력 형식 플러그인 관련 오류가 나오면 dot -V와 dot -T?로 현재 실행 파일과 플러그인 목록을 확인합니다. EXE 설치판과 ZIP판의 bin, lib 파일을 서로 섞지 않습니다.
ZIP을 다른 위치로 옮겼다면 전체 폴더 구조를 유지합니다. 관리자 권한이 필요한 전역 설정을 임의로 바꾸기보다 공식 ZIP을 새 폴더에 다시 풀어 같은 DOT를 실행해 파일 누락 여부를 구분합니다.
한글이 네모로 보일 때
DOT 파일을 UTF-8로 저장하고 fontname에 설치된 한글 글꼴의 실제 이름을 지정합니다. Windows에서는 Malgun Gothic을 먼저 시험하고, dot -Tsvg와 dot -Tpng 결과를 각각 열어 확인합니다.
SVG를 다른 PC에서 열면 그 PC의 글꼴로 대체될 수 있습니다. 배포 대상 환경에 같은 글꼴이 있는지 확인하거나, 문서에 넣을 최종본은 PNG나 PDF로도 함께 저장합니다.
그래프가 너무 넓거나 겹칠 때
계층 그래프가 지나치게 넓으면 rankdir, ranksep, nodesep와 node margin 값을 줄이고 긴 label을 줄바꿈합니다. 무방향 그래프에서 노드가 겹치면 overlap=false와 splines 설정을 시험합니다.
한 번에 모든 속성을 바꾸지 말고 레이아웃 엔진, 방향, 간격 순서로 조정합니다. 같은 DOT를 SVG로 저장해 확대해 보면 실제 겹침인지 낮은 PNG 해상도 문제인지 구분하기 쉽습니다.
원본 DOT와 생성 파일 함께 보관
Graphviz 결과를 다시 만들려면 PNG만으로는 부족합니다. .dot 원본과 사용한 Graphviz 버전, 실행 명령을 프로젝트에 함께 기록합니다.
자동화 스크립트에는 dot -V 결과와 출력 형식을 남깁니다. 16.1.0에서 속성이나 렌더러가 달라져도 원본 DOT와 명령이 있으면 같은 환경에서 결과를 재현할 수 있습니다.
자주 묻는 질문
Graphviz는 무료인가요?
예. 공식 라이선스 페이지는 현행 Graphviz를 Eclipse Public License 2.0 기반 오픈소스로 안내합니다.
Windows 64비트에서 어떤 파일을 받나요?
일반 설치는 graphviz-install-16.1.0-win64.exe를, 설치 없이 폴더에서 쓰려면 Graphviz-16.1.0-win64.zip을 선택합니다.
Graphviz를 설치했는데 실행 창이 없나요?
정상입니다. Graphviz의 핵심은 DOT 파일을 dot, neato 같은 명령으로 렌더링하는 방식이며 일반 그림 편집기 같은 메인 GUI가 없습니다.
DOT 파일을 SVG로 어떻게 바꾸나요?
PowerShell에서 dot -Tsvg input.dot -o output.svg를 실행한 뒤 output.svg를 직접 엽니다.
dot 명령을 찾을 수 없으면 어떻게 하나요?
새 터미널을 열고 where.exe dot을 확인합니다. Graphviz bin을 PATH에 추가하거나 bin\dot.exe의 전체 경로로 실행합니다.
DOT 원본을 만들고 SVG·PNG 결과를 직접 확인하세요
Graphviz 16.1.0의 64비트 EXE나 ZIP을 준비한 뒤 dot -V로 버전을 확인합니다. workflow.dot을 UTF-8로 저장하고 dot -Tsvg와 dot -Tpng 명령을 실행하세요. 생성된 파일에서 노드, 화살표와 한글 글꼴을 확인하고 원본 DOT·실행 명령·버전을 함께 보관하면 첫 그래프 시각화 작업이 끝납니다.
공식 자료와 확인일
Graphviz 공식 다운로드 · Graphviz 공식 라이선스 · Graphviz DOT 언어 공식 문서 · Graphviz 명령줄 공식 문서 · Graphviz 레이아웃 엔진 공식 문서 · Graphviz 출력 형식 공식 문서 | 2026-10-01T21:16:30.854535+00:00


