ePub 유효성 검사 방법 정리: EPUBCheck, Python, Node.js 활용법
이 글은 2026년 10월에 업데이트 되었습니다.
ePub로 책을 제작할 경우 ePub가 제대로 제작되었는지 검증하는 과정이 필요합니다. ePub로 제작된 파일이 유효한지 체크할 수 있는 여러가지 방법을 정리했습니다.
ePub이란?
ePub은 PDF와 함께 전자책에 많이 쓰이는 확장자 겸 규격입니다. 그 내용은 XHTML을 기반으로 하고 있습니다. zip 파일과 같은 압축 파일이구요. 그 안에 html 문서와 그림 파일 등의 소스가 포함되어 있다고 생각하시면 됩니다.

ePub 표준
이 ePub 파일은 제조사와 단말기, 뷰어마다 포맷이 제멋대로였던 시기가 있었습니다. 지금은 W3C에서 표준을 관리하고 있어서 과거에 비해 호환이 많이 좋아졌습니다. 그렇지만 다수의 플랫폼에서 제대로 서비스해야 하기 때문에 유효성 검증은 여전히 중요합니다.
현재 표준 검사 도구: EPUBCheck
ePub 유효성 검사의 현재 표준 도구는 W3C에서 관리하는 EPUBCheck입니다. 최신 버전인 EPUBCheck v5.3.0(2025년 9월)은 EPUB 3.3 규격에 대한 적합성을 검사합니다.
EPUBCheck는 jar 파일 형태라 Java가 설치되어 있어야 합니다. 다운로드한 jar 파일을 실행하거나, 명령줄에서는 아래처럼 EPUB 파일을 지정해 검사를 실행하면 됩니다.
java -jar epubcheck.jar 파일.epub
웹 업로드로 검사하는 방법
EPUBCheck를 직접 설치하지 않고, 웹에 파일을 업로드해서 검사하는 방법도 있습니다.
epubcheck.net
무료 온라인 검사 서비스로, EPUBCheck를 그대로 실행해줍니다. 파일을 드래그해서 올리면 pass/warn/fail 판정과 항목별 리포트를 보여줍니다.
- 무료로 쓸 수 있습니다.
- 파일당 최대 4GB까지 올릴 수 있습니다.
Python으로 검사하는 방법
Python에서는 EPUBCheck를 감싼 공식 래퍼 패키지를 쓰는 것이 가장 확실합니다.
epubcheck 패키지
Java EPUBCheck를 그대로 번들로 담은 공식 래퍼입니다. Java가 설치되어 있어야 합니다.
- 설치:
pip install epubcheck - 검사:
epubcheck book.epub
라이브러리로도 쓸 수 있습니다.
from epubcheck import EpubCheck
result = EpubCheck("book.epub")
print(result.valid)
pyepubcheck
Java 없이 동작하는 순수 Python 검사기입니다. EPUBCheck와 동등한 검사를 보장하지는 않으니 보조 용도로 씁니다.
- 설치:
python -m pip install pyepubcheck - 검사:
pyepubcheck book.epub
Node.js로 검사하는 방법
epubchecker
EPUBCheck 기반의 Node.js CLI 겸 라이브러리입니다.
- 설치:
npm install epubchecker - 검사:
epubchecker book.epub
const epubchecker = require('epubchecker');
const report = await epubchecker('book.epub', { includeWarnings: true });
소규모 커뮤니티 프로젝트라서, 중요한 검사는 EPUBCheck 본체를 쓰는 것이 안전합니다.
그 밖의 방법
전자책 애호가와 제작자들이 많이 사용하는 소프트웨어 들도 ePub유효성 기능을 내포하는 경우가 있습니다. Sigil과 calibre가 대표적입니다. 이 프로그램들을 활용하면 시각적으로 편집하면서 동시에 오류를 점검할 수 있어 편리합니다.