PDF Base64 변환기

API 요청, 이메일, HTML 삽입에 쓸 수 있도록 PDF 문서를 Base64로 인코딩합니다. 내장 뷰어로 PDF를 보여 주므로 결과를 복사하기 전에 올바른 파일인지 확인할 수 있습니다.

브라우저에서만 실행되며 어떤 데이터도 업로드되지 않습니다.

사용 방법

  1. PDF를 업로드 영역에 끌어다 놓거나 클릭해서 선택합니다(최대 100MB).
  2. 미리 보기를 보고 올바른 문서인지 확인합니다.
  3. ‘출력’에서 API 요청에는 순수 Base64인 ‘Base64’를, 웹 페이지에 PDF를 삽입하려면 ‘Data URI’를 선택합니다.
  4. 결과를 복사하거나 .txt 파일로 다운로드합니다.

JSON API로 PDF 보내기

JSON에는 바이너리 유형이 없으므로 문서를 받는 REST API는 보통 Base64 문자열로 받습니다. 전자 서명 플랫폼, 송장 발행 및 전자 청구 시스템, 인쇄·우편 발송 서비스, OCR 엔진, 문서 보관 시스템은 흔히 content, file, documentBase64 같은 필드로 PDF를 받고 파일 이름은 별도 필드로 받습니다. PDF를 같은 방식으로 반환하는 서비스도 있는데, 이런 응답은 Base64 PDF 변환 도구로 다시 파일로 바꿀 수 있습니다.

API 문서에 다른 안내가 없다면 줄 바꿈 없는 순수 Base64를 보내십시오. data:application/pdf;base64, 접두사가 남아 있는 값은 많은 API가 거부합니다. 요청 크기 제한도 염두에 두십시오. 7.5MB PDF는 약 10MB의 Base64가 됩니다.

Base64로 인코딩된 PDF 알아보기

PDF 파일은 %PDF- 문자 뒤에 버전 번호가 오는 형태로 시작합니다. 이 바이트를 Base64로 인코딩하면 항상 JVBERi0으로 시작하는 문자열이 됩니다. API 응답, 데이터베이스 열, 로그 파일에서 JVBER로 시작하는 긴 문자열을 보았다면 거의 확실히 PDF입니다. 페이로드를 보내기 전에도 같은 방법으로 확인할 수 있습니다. 문자열이 다른 문자로 시작한다면 엉뚱한 데이터를 인코딩했거나 두 번 인코딩했을 수 있습니다.

HTML에 PDF 삽입하기

data URI를 사용하면 별도로 호스팅할 파일 없이 PDF 전체를 HTML 페이지 안에 넣을 수 있습니다.

<embed src="data:application/pdf;base64,JVBERi0..." type="application/pdf" width="100%" height="600">

<iframe src="data:application/pdf;base64,JVBERi0..." width="100%" height="600"></iframe>

내장 PDF 뷰어가 있는 데스크톱 브라우저에서는 잘 작동하지만 한계가 있습니다. 많은 모바일 브라우저는 페이지 안에서 PDF를 아예 표시하지 않습니다. 또한 Chrome을 비롯한 일부 브라우저는 페이지가 탭 전체를 data: URL로 이동시키는 것을 차단하므로, data:application/pdf URI를 가리키는 링크나 window.open 호출은 빈 탭을 열거나 아무 동작도 하지 않을 수 있습니다. JavaScript로 PDF를 새 탭에서 열려면 Base64를 Blob URL로 변환하십시오. 몇 메가바이트가 넘는 문서라면 보통 일반 파일 URL이 더 나은 선택입니다.

코드로 PDF 인코딩하기

# Python: JSON 요청 본문 만들기
import base64, json
from pathlib import Path

pdf_b64 = base64.b64encode(Path('invoice.pdf').read_bytes()).decode('ascii')
body = json.dumps({'filename': 'invoice.pdf', 'content': pdf_b64})

// 브라우저: file은 <input type="file">에서 가져옵니다
const reader = new FileReader();
reader.onload = () => {
  const pdfBase64 = reader.result.split(',')[1]; // data URI 접두사 제거
};
reader.readAsDataURL(file);

자주 묻는 질문

PDF의 Base64 문자열이 JVBERi0으로 시작하는 이유는 무엇입니까?
이 문자는 모든 PDF 파일 맨 앞에 있는 헤더 %PDF-를 Base64로 인코딩한 것입니다. 이 문자가 보이면 문자열에 PDF가 들어 있다는 뜻입니다.
변환할 때 PDF가 업로드됩니까?

아니요. 파일 읽기, 인코딩, 미리 보기는 모두 브라우저에서 로컬로 이루어집니다. 계약서, 청구서 등 기밀 문서도 기기 밖으로 나가지 않습니다.

인코딩하면 PDF가 바뀌거나 압축됩니까?

아니요. Base64 문자열을 디코딩하면 정확히 같은 바이트가 나오므로 비밀번호 보호, 디지털 서명, 양식 필드, 메타데이터가 모두 그대로 유지됩니다. 텍스트는 PDF보다 약 33% 큽니다. 크기를 줄이려면 인코딩하기 전에 PDF를 압축하십시오.

‘76자마다 줄 바꿈’을 켜야 합니까?

형식에서 요구할 때만 켜십시오. 예를 들어 첨부 파일의 한 줄이 76자로 제한되는 MIME 이메일을 직접 작성하는 경우입니다. JSON API와 HTML data URI는 끊김 없는 한 줄 문자열을 기대합니다.

PDF 크기 제한은 얼마입니까?

이 도구는 최대 100MB 파일을 받습니다. API에서는 실제 한도가 보통 더 낮으므로 최대 요청 크기를 확인하고, Base64로 인코딩하면 크기가 약 3분의 1 늘어난다는 점을 기억하십시오. 아주 긴 출력은 화면에 표시하는 데 시간이 걸릴 수 있으므로 큰 문서는 ‘다운로드’를 사용하십시오.