ToolAct

EPUB TXT 변환 도구

EPUB 전자책을 업로드하여 본문 전체를 UTF-8 일반 텍스트(.txt)로 추출

전자책 업로드

EPUB 파일을 여기에 끌어 놓거나 클릭하여 선택

.epub 형식 지원(DRM 없음), 최대 3MB

EPUB to TXT란

EPUB to TXT는 EPUB 전자책에서 읽을 수 있는 텍스트만 뽑아내 일반 텍스트 파일로 저장하는 도구입니다. EPUB은 묶음 형식이라 실제 글자는 ZIP 컨테이너 안의 XHTML 문서에 들어 있고, 그 바깥을 CSS·글꼴·이미지·탐색 파일이 감싸고 있습니다. 반면 .txt는 문자 자체만 남깁니다. 마크업도, 스타일도, 레이아웃도 없습니다. 결과물은 어떤 프로그램이든 그대로 읽을 수 있는 깔끔하게 이어진 텍스트입니다.

이것이 유용한 이유는 일반 텍스트가 유일하게 '모두가 알아듣는' 형식이기 때문입니다. grep과 전문 검색, 텍스트 마이닝을 위한 Python·R 스크립트, 단어 수 세기, 번역 도구, 대규모 언어 모델 프롬프트, 음성 합성, 그리고 전자책 형식을 전혀 지원하지 않는 기기와 프로그램까지. 서재 전체를 검색하거나, 구절을 정확히 인용하거나, 소설을 언어 모델에 넣으려 할 때 첫 단계는 거의 항상 같습니다. 전자책 컨테이너에서 텍스트를 꺼내는 일입니다.

다만 변환 전에 대가를 이해해야 합니다. TXT는 손실이 있는 대상 형식입니다. 삽화, 표지, 목차 계층, 굵게와 기울임, 표, 연결된 각주, 내장 글꼴은 모두 사라지거나 본문에 섞여 버립니다. 남는 것은 문자뿐이고, 줄 바꿈과 빈 줄로 구분됩니다. 쪽 번호도 의미가 없습니다. 일반 텍스트에는 '쪽'이라는 개념이 없기 때문입니다. 책이 책처럼 보이길 원한다면 EPUB to PDF를 사용하세요. TXT는 페이지가 아니라 글자가 필요할 때 올바른 선택입니다.

사용 방법

진행 순서

  1. 업로드 영역을 클릭하거나 EPUB 파일을 끌어다 놓으세요. .epub만 지원하며 최대 3MB입니다
  2. ‘TXT로 변환’을 클릭하면 서버에서 Calibre가 몇 초 만에 본문을 추출합니다
  3. 결과 패널에 크기 변화가 표시되면 ‘TXT 다운로드’를 클릭해 저장하세요
  4. 다른 책도 변환하려면 ‘다른 파일 변환’을 눌러 패널을 초기화하세요

변환 전 확인 사항

  • 결과 패널의 크기 변화를 보세요. 크게 줄어드는 것은 정상입니다(이미지와 글꼴이 빠지기 때문). 다만 몇백 바이트만 남았다면 그 EPUB에 텍스트가 거의 없었다는 뜻입니다.
  • 내려받은 TXT를 UTF-8을 지원하는 편집기로 한 번 열어 보세요. 악센트 문자나 한글·한자가 이상해 보인다면 편집기의 인코딩 감지 문제이고, 파일 자체는 UTF-8입니다.
  • 책의 레이아웃, 표지, 삽화가 필요하다면 PDF로 변환하세요. TXT는 그것들을 의도적으로 버리는 형식입니다.

활용 사례

책 한 권 전체 검색600쪽짜리 EPUB에서 특정 인물, 용어, 날짜가 나오는 곳을 모두 찾는 일은 리더 앱으로는 불가능합니다. TXT로 변환하면 grep이나 편집기, 검색 도구로 바로 찾을 수 있습니다. 결과는 줄 번호와 문맥이 함께 즉시 나오고, 같은 파일을 리더 소프트웨어가 없는 어떤 컴퓨터에서도 열 수 있습니다.
언어 모델이나 NLP 파이프라인에 넣기언어 모델, 요약 도구, 토픽 모델, 말뭉치 도구는 모두 일반 텍스트를 입력으로 받습니다. 먼저 XHTML 태그와 CSS를 제거하면 마크업 잡음을 함께 넣지 않아도 됩니다. 잡음은 컨텍스트 창을 낭비하고 토큰 계산을 어긋나게 만듭니다. UTF-8 출력은 Python에서 open() 한 번으로 읽히며 EPUB 파서 라이브러리가 필요 없습니다.
정확하게 인용하기리더 앱에서 복사하면 보이지 않는 서식, 치환된 스마트 따옴표, 줄 끝에 남은 하이픈이 함께 딸려 오기 쉽습니다. TXT로 추출한 문자는 책에 저장된 그대로이므로 논문, 블로그, 자막 파일에 붙여도 깨끗합니다. 단어 수로 인용이 빠짐없이 들어갔는지 확인할 수도 있습니다.
음성 합성과 오디오북 제작TTS 엔진과 오디오북 도구가 먹는 것은 텍스트이지 EPUB이 아닙니다. 먼저 TXT로 추출하고 빈 줄이나 제목 표시를 기준으로 장을 나눈 뒤 합성 엔진으로 보내세요. 마크업을 제거하면 낭독기가 이미지 대체 텍스트나 남은 CSS 코드를 읽어 버리는 일도 막을 수 있습니다.
전자책을 지원하지 않는 기기에서 읽기오래된 휴대폰, 펌웨어가 잠긴 전자종이 리더, 터미널, 임베디드 기기, 차량 인포테인먼트 등 텍스트 파일은 보여 주지만 EPUB은 열지 못하는 화면이 많습니다. TXT 사본은 언제나 열리는 가장 범용적인 형식이고, 어디로든 메일로 보내거나 동기화할 수 있을 만큼 작습니다.
번역이나 자막 작업용 소재 준비CAT 도구와 자막 편집기는 텍스트 세그먼트 단위로 동작합니다. 먼저 기계적으로 추출해 두면 번역자에게 안정적이고 버전 관리가 가능한 원본 파일을 줄 수 있습니다. 문장 분절 작업도 일반 텍스트에서 한 번만 하면 되고, EPUB 안에 중첩된 XHTML 문단과 씨름할 필요가 없습니다.

기술 원리

변환은 Calibre의 명령줄 도구인 ebook-convert가 수행합니다. 서버에서는 ebook-convert <입력.epub> <출력.txt> 형태로 실행되며 --txt-output-encoding utf-8이 함께 지정되므로, 원본 파일이 어떤 인코딩을 선언했든 출력은 항상 UTF-8입니다. 처리 과정은 세 단계입니다.

첫 단계는 EPUB 파싱입니다. EPUB은 ZIP 압축 파일이고, 첫 번째 항목은 application/epub+zip 내용을 담은 비압축 mimetype 파일이며, 그다음에 패키지 루트의 .opf 파일을 가리키는 META-INF/container.xml이 옵니다. .opf에는 세 부분이 있습니다. metadata(Dublin Core 요소로 제목·저자·언어·고유 식별자를 기술), manifest(패키지의 모든 리소스 목록), spine(본문 읽기 순서 정의)입니다. 파서는 spine을 따라 XHTML 본문 문서를 차례로 읽습니다. 텍스트가 압축 파일 안의 순서가 아니라 읽기 순서로 나오는 이유가 여기 있습니다. 순서를 정하는 것은 파일 이름이 아니라 spine입니다.

두 번째 단계는 XHTML에서 텍스트만 뽑아내는 것입니다. 각 본문 문서의 DOM을 순회하며 텍스트 노드만 남깁니다. 즉 <p>, <h1>, <em>, <span>, <div> 같은 모든 요소는 자기 안의 글자만 남기고 나머지는 버려집니다. 블록 요소는 문단 구분으로 바뀌는데, 출력에서 문단 사이에 생기는 빈 줄이 바로 이것입니다. 인라인 스타일은 그냥 사라집니다. 문자가 없는 요소(<img>, <hr> 등)는 완전히 사라집니다. 링크는 목적지를 잃지만 앵커 텍스트는 제자리에 남습니다. 눈에 보이는 텍스트로 적어 둔 URL은 살아남고, 단어에 걸린 하이퍼링크는 그 뒤의 주소를 잃는다는 뜻입니다.

세 번째 단계는 직렬화입니다. 공백 문자를 정규화하고 대상 인코딩으로 파일을 쓴 뒤 끝납니다. 미리 알아 둘 점이 두 가지 있습니다. 첫째, 이미지로만 존재하는 내용은 모두 사라집니다. 스캔한 책, 고정 레이아웃 EPUB(rendition:layout=pre-paginated)의 만화, 그림책에는 텍스트 노드가 거의 없어서 출력이 비거나 거의 비게 됩니다. 둘째, 마크업이 없으면 구조도 남지 않습니다. PDF 변환에서 쪽을 나눌 때 쓰는 CSS 페이지 나눔 규칙은 여기서 아무 의미가 없고, 장 경계는 제목 텍스트 자체로만 남습니다.

  • 엔진: Calibre의 ebook-convert. 서버에서 ebook-convert <입력.epub> <출력.txt> --txt-output-encoding utf-8 로 실행
  • EPUB 컨테이너: 비압축 mimetype(application/epub+zip)과 루트 .opf를 가리키는 META-INF/container.xml을 담은 ZIP. .opf는 metadata / manifest / spine 세 부분
  • 읽기 순서를 정하는 것은 spine이며 파일 이름이나 ZIP 내부 순서가 아니다. 추출한 장이 원래 순서대로 나오는 이유가 여기 있다
  • 텍스트 추출에서 남는 것은 텍스트 노드뿐이다. 블록 요소는 문단 구분이 되고, 인라인 스타일은 버려지며, 문자가 없는 요소(img, hr)는 사라진다
  • 설계상 손실이 있다. 이미지, 표지, 표(셀은 흐르는 텍스트로 직렬화), 글꼴, 색상, 목차 계층은 남지 않는다. 링크는 앵커 텍스트만 유지된다
  • 이미지만 있는 책은 실패한다. 스캔한 EPUB이나 고정 레이아웃 만화에는 텍스트 노드가 없어 출력이 비게 된다. 서비스는 빈 결과를 감지해 빈 파일을 주는 대신 실패로 알린다
  • 출력은 공백이 정규화된 UTF-8 일반 텍스트다. 쪽 개념이 없으므로 쪽 번호와 쪽 나눔 설정은 영향을 주지 않는다

예시

책 한 권 검색

EPUB을 TXT로 변환한 뒤 grep -n "키워드" book.txt 로 모든 출현 위치와 줄 번호로 바로 이동

언어 모델 프롬프트 소재 만들기

소설을 TXT로 추출하고 빈 줄로 나눈 뒤 장 단위로 요약이나 번역 프롬프트에 입력

단어 수와 읽기 시간 추정

추출 후 wc -w book.txt 로 정확한 단어 수를 얻습니다. 태그가 붙은 XHTML을 직접 세면 정확하지 않습니다

음성 합성용 텍스트 준비

TXT로 변환해 마크업을 제거한 뒤 깨끗한 텍스트를 TTS 엔진에 넘겨 오디오로 제작

자주 묻는 질문

업로드한 EPUB 파일은 어디로 가나요?

변환 서버로 업로드되어 Calibre의 ebook-convert로 처리된 뒤 .txt 파일로 내려받을 수 있습니다. 작업이 끝나면 파일은 보관되지 않지만, 업로드한 내용은 기기를 떠난 것으로 간주하고 공유 권한이 없는 자료는 보내지 마세요. 다운로드 링크는 임시 작업 ID이며 영구 주소가 아닙니다.

이미지, 표지, 서식은 유지되나요?

아니요. TXT는 이미지, 색상, 글꼴, 강조를 표현할 방법이 없어 변환기는 문자만 남깁니다. 굵게와 기울임은 일반 텍스트가 되고, 표지와 본문 삽화는 버려지며, CSS 스타일은 모두 제거됩니다. 문단 구분은 빈 줄로 남는데, 이것이 일반 텍스트가 담을 수 있는 유일한 구조입니다.

TXT가 비어 있거나 변환에 실패하는 이유는 무엇인가요?

대부분 그 책에 추출할 텍스트가 없기 때문입니다. 스캔한 EPUB, 만화, 고정 레이아웃 그림책은 각 쪽을 이미지로 저장하므로 추출할 텍스트 노드가 없습니다. 서비스는 출력 크기를 확인해 0바이트 파일을 주는 대신 변환 실패로 알려 줍니다. 리더에서는 잘 보이는데 아무것도 추출되지 않는다면 먼저 페이지에 OCR을 적용하세요.

TXT가 원본 EPUB보다 훨씬 작은 이유는 무엇인가요?

전자책에서 텍스트가 차지하는 비중이 아주 작기 때문입니다. 일반적인 EPUB은 표지, 본문 삽화, 내장 글꼴 파일을 함께 담고 있고 이것들은 압축된 이진 데이터입니다. 소설의 실제 글자는 몇백 KB에 불과합니다. 80~95% 줄어드는 것은 완전히 정상이며, 정확한 비율은 결과 패널에 표시됩니다.

목차와 장 제목은 어떻게 되나요?

목차는 목차로 다시 만들어지지 않습니다. TXT에는 그런 개념이 없기 때문입니다. 다만 제목 텍스트 자체는 보통 읽기 순서대로 제자리에 남습니다. nav.xhtml이나 toc.ncx의 항목이 남는 경우는 같은 문자열이 본문에도 보이는 텍스트로 등장할 때뿐입니다. 실무적으로는 빈 줄이나 장 제목 패턴으로 파일을 잘라 장 구조를 직접 복원하게 됩니다.

DRM으로 보호된 EPUB도 변환할 수 있나요?

아니요. Adobe ADEPT, Apple FairPlay, 아마존 DRM으로 잠긴 책은 변환기가 열 수 없습니다. 내용이 암호화되어 있어 글자를 읽기도 전에 파싱이 실패합니다. 직접 만든 전자책, 퍼블릭 도메인 작품, 변환 권한을 명확히 가진 파일처럼 합법적으로 얻은 DRM 없는 EPUB을 사용하세요.

TXT로 변환할 수 있는 다른 전자책 형식은 무엇인가요?

서버의 TXT 엔드포인트는 총 15가지 입력 형식을 받습니다. epub, mobi, azw3, azw, fb2, lit, prc, pdb, html, htm, xhtml, rtf, odt, docx, snb입니다. 다만 이 사이트는 형식마다 전용 페이지를 두어 업로드 검증과 오류 메시지가 실제로 변환하는 형식과 일치하도록 했습니다. 이 페이지는 .epub만 처리합니다.

변환 횟수 제한이 있나요?

있습니다. 변환 엔드포인트는 IP당 분당 2회로 제한되며 모든 전자책 변환이 카운트를 공유합니다. 일반적인 사용에는 충분한 한도이고, 스크립트가 서버를 마구 호출하지 못하게 하려는 것입니다. 초과했다면 1분만 기다리면 풀립니다.

출력 인코딩은 무엇이고 한글도 괜찮나요?

출력은 --txt-output-encoding utf-8 인수로 항상 UTF-8로 고정되므로 한국어, 중국어, 일본어, 키릴 문자, 그리스 문자, 악센트가 있는 라틴 문자까지 온전히 전달됩니다. 다운로드 후 글자가 깨져 보인다면 편집기의 인코딩 감지 문제이지 파일 문제가 아니므로, 편집기에서 UTF-8로 직접 바꿔 주세요.

관련 도구

EPUB PDF 변환 도구

온라인 EPUB PDF 변환 도구. 전자책 EPUB 파일을 레이아웃이 안정된 PDF 문서로 변환하고 챕터·이미지·글꼴을 유지합니다. 인쇄 및 보관에 적합하며 변환 후 파일은 자동으로 삭제됩니다.

MOBI EPUB 변환 도구

온라인 MOBI EPUB 변환 도구. Kindle의 MOBI 전자책을 범용 리플로우 방식의 EPUB 표준 형식으로 변환하고 챕터·표지·이미지를 유지합니다. Kobo, Apple Books 등 리더에 바로 가져올 수 있으며 변환 후 파일은 자동으로 삭제됩니다.

MOBI PDF 변환 도구

온라인 MOBI PDF 변환 도구. Kindle의 MOBI 전자책을 레이아웃이 안정된 PDF 문서로 변환하고 챕터·이미지·텍스트를 유지합니다. 인쇄 및 보관에 적합하며 변환 후 파일은 자동으로 삭제됩니다.

AZW3 PDF 변환 도구

온라인 AZW3 PDF 변환 도구. Kindle의 AZW3(KF8) 전자책을 레이아웃이 안정된 PDF 문서로 변환하고 챕터·이미지·폰트·서식을 유지합니다. 인쇄 및 보관에 적합하며 변환 후 파일은 자동으로 삭제됩니다.

PDF to Word 변환 도구

온라인 PDF to Word 변환 도구. .docx 또는 .doc 형식으로 출력. 원클릭 변환, 레이아웃과 이미지 유지. 변환 후 파일이 자동 삭제되어 안전합니다.

Word to PDF 변환 도구

온라인 Word to PDF 변환 도구. .docx와 .doc 형식 지원. 원클릭 변환, 원본 레이아웃 유지, PDF 크기 자동 최적화. 변환 후 파일이 자동 삭제되어 안전합니다.