MarkItDown의 개요
MarkItDown은 언어 모델과 텍스트 파이프라인이 읽을 수 있도록 파일을 Markdown으로 변환합니다. PDF, Word, PowerPoint, Excel, HTML, CSV, JSON, XML, EPUB, ZIP 아카이브, 이미지(메타데이터와 OCR), 오디오(전사), YouTube URL을 처리하며, 가능한 한 제목, 목록, 표, 링크를 유지합니다.
형식별 선택 extras를 갖춘 Python 라이브러리이자 명령줄 도구이며, 플러그인 시스템(비전 모델을 호출하는 OCR 플러그인 포함)과 어려운 파일을 위한 Azure Document Intelligence나 Azure Content Understanding 연계를 선택적으로 제공합니다. 별도 패키지가 이를 MCP 서버로 감쌉니다.
Microsoft는 출력물이 사람이 읽을 고품질 변환이 아니라 텍스트 분석 도구를 위한 것이라고 말합니다.
MarkItDown, 쓸 만한 가치가 있습니까?
MarkItDown은 Word, PowerPoint, Excel 파일을 모델이 읽을 Markdown으로 바꾸는 가장 빠른 방법이고, 의미가 표나 스캔에 담긴 PDF에는 맞지 않는 선택입니다. 스타는 약 191,700개이며, Microsoft는 v0.1.8 한 달 뒤인 2026년 10월 21일 v0.1.9를 냈습니다. 둘 다 유지보수 릴리스입니다. v0.1.9는 HTTP 읽기 청크를 512바이트에서 64 KB로 키우고, 오디오 전사의 언어 설정을 추가하고, 실제 픽스처를 중심으로 테스트를 다시 만들었습니다.
PDF에서는 레이아웃을 인식하는 변환기에 못 미칩니다. 2026년 5월 처음 게시되고 8월에 갱신된 danilchenko.dev의 비교에 따르면, MarkItDown은 PDF 표를 이어진 문단으로 바꾸고, 다단 페이지를 뒤섞고, 기본적으로 OCR을 하지 않아 스캔 문서에서는 거의 아무것도 돌려주지 않았습니 다. 같은 테스트에서 14페이지 문서를 0.6초에 처리했고, 설치 크기는 약 80MB로 Docling의 약 2.4GB와 대조됐습니다.
이를 보완하려면 비용이 듭니다. markitdown-ocr 플러그인은 포함된 이미지를 사용자가 지정한 GPT-4o 같은 비전 모델로 보내므로, OCR은 해당 제공사가 호출 단위로 청구합니다. Azure 경로는 페이지 단위입니다. Document Intelligence의 Read 모델은 1,000페이지당 $1.50, Layout을 포함한 사전 구축 모델은 1,000페이지당 $10이고, Content Understanding의 표준 문서 추출은 1,000페이지당 $5입니다. 이 요금이면 Layout으로 월 100,000페이지의 스캔본을 처리할 때 약 $1,000가 듭니다.
README는 보안에 대해 솔직합니다. MarkItDown은 실행하는 프로세스의 권한으로 파일과 URL을 읽습니다. 따라서 신뢰할 수 없는 입력을 받는 서비스는 convert_stream처럼 가장 범위가 좁은 변환 함수를 호출하고 경로를 정제해야 합니다. 플러그인은 기본적으로 꺼져 있는데, 제3자 코드를 실행하는 라이브러리로서 옳은 판단입니다.
Microsoft는 범위에도 선을 그었습니다. 기여 가이드는 markitdown-mcp 패키지를 제외하고 웹 서버, REST API, 호스팅 변환 서비스를 저장소에 넣지 않는다고 못 박습니다. 변환 서비스가 필요하면 직접 만들고 보안도 직접 챙겨야 하며, 이는 Docling이나 Unstructured와는 다른 이야기입니다.
제 역할을 하는 곳
사내 Word와 PowerPoint 파일 20,000개를 색인하는 RAG 엔지니어
Office 아카이브를 벡터 저장소용 Markdown 청크로 바꾸기
pip install 'markitdown[docx,pptx,xlsx]' 후 일반 CPU 인스턴스의 배치 작업으로 변환합니다. Office 형식에서는 제목, 목록, 표가 잘 보존되고 페이지당 요금도 없습니다.
스캔한 청구 양식을 처리하는 보험사의 운영팀
스캔한 PDF에서 텍스트와 표 추출하기
기본 변환은 스캔본에서 거의 아무것도 돌려주지 않으므로 az-doc-intel extra로 Azure Document Intelligence에 보냅니다. Layout 요금은 1,000페이지당 $10로 월 100,000페이지면 약 $1,000이며, 파일은 네트워크를 떠나 Azure로 갑니다.
사내 채팅 도우미에 파일 업로드를 추가하는 개발자
파일 읽기나 SSRF 구멍을 만들지 않고 사용자 문서 받기
README의 조언대로 사용자가 준 경로나 URL에 convert를 쓰지 말고 업로드된 바이트에 convert_stream을 호출하며, 플러그인은 끈 채로 둡니다. 무료이지만 보안 경계는 직접 만들어야 합니다.
도입 전 확인할 점
- 설정
- pip install 'markitdown[all]'(Python 3.10에서 3.14) 또는 형식별 extras를 고릅니다. CLI에서는 markitdown file.pdf > out.md, Python에서는 MarkItDown().convert()를 씁니다. 로컬에서 빌드하 고 실행할 Dockerfile이 제공됩니다.
- 연동
- Python API와 CLI, MCP 클라이언트용 markitdown-mcp 패키지, 제3자 플러그인(기본 비활성), OpenAI 호환 클라이언트를 쓰는 markitdown-ocr, Azure Document Intelligence와 Azure Content Understanding 백엔드.
- 데이터와 개인정보
- 기본은 로컬이며 README에 텔레메트리 언급이 없습니다. GitHub 코드 검색에서도 찾을 수 없고, Docker 이미지는 ORT_DISABLE_TELEMETRY=1을 설정합니다. 파일은 OCR 플러그인이나 이미지 설명을 켤 때만 OpenAI 등 제공사로, 해당 백엔드를 쓸 때만 Azure로 갑니다. 프로세스가 접근할 수 있는 모든 경로와 URL을 읽습니다. MIT이며 공개된 보안 권고는 없습니다.
- 대규모 사용 시 비용
- Office와 디지털 원본 PDF는 CPU에서 무료입니다. Azure Document Intelligence Read는 1,000페이지당 $1.50, Layout은 $10, Content Understanding 표준 추출은 1,000페이지당 $5이며, 비전 모델 OCR은 제공사가 호출 단위로 청구합니다.
- 제한
- 기본 상태로는 PDF의 OCR이나 표 구조가 없음. 열린 이슈와 풀 리퀘스트 약 740개. 1.0 이전 버전 번호. 서버와 호스팅 서비스는 프로젝트 범위 밖.
