PDF 비밀번호 해제
알고 있는 비밀번호를 입력해 PDF 암호를 제거 — 분실한 본인 PDF 정리·반복 입력 절감.
PDF와 비밀번호 모두 외부 서버로 전송되지 않습니다. 처리·검증 전부 사용자 브라우저 안에서.
⚠️ 본인 소유 또는 처리 권한이 있는 PDF만 사용하세요.
이 도구는 사용자가 비밀번호를 알고 있는 경우에만 동작합니다 — 무차별 대입 공격은 지원하지 않습니다. 비밀번호를 모르는 타인 소유 PDF·저작권·보안 정책 보호 문서 처리는 법적 문제가 될 수 있습니다.
이 도구는 사용자가 비밀번호를 알고 있는 경우에만 동작합니다 — 무차별 대입 공격은 지원하지 않습니다. 비밀번호를 모르는 타인 소유 PDF·저작권·보안 정책 보호 문서 처리는 법적 문제가 될 수 있습니다.
처리 중…
[ AdSense 광고 자리 ]
이런 상황에 쓰세요
| 상황 | 설명 |
|---|---|
| 본인 PDF의 잠금 정리 | 예전에 설정해 둔 비밀번호를 매번 입력하기 번거로울 때 — 한 번에 제거 |
| 스캐너·은행 PDF 정리 | 비밀번호로 보호된 명세서·증명서를 본인 보관용 사본으로 풀어 저장 |
| 다른 도구와 연계 | 잠긴 PDF는 합치기·자르기·이미지 변환이 안 됨 → 먼저 잠금 해제 |
| 인쇄·복사 제한 해제 | 비밀번호를 알고 있는 본인 PDF의 권한 제한(소유자 비밀번호)도 함께 제거 |
관련 도구
사용 라이브러리
왜 무차별 대입 공격은 지원하지 않나요?
첫째, 저작권법·정보통신망법 위반 우회 도구로 악용될 수 있어서. 둘째, 현대 PDF 암호화(AES-256)에서 무차별 대입은 일반 비밀번호도 수십 년이 걸려 실용성이 없어서.
본 도구는 합법적 용도(본인 소유 PDF 정리)에 집중합니다.
비밀번호를 정말 외부로 보내지 않나요?
네. 비밀번호는
PDF.js가 사용자 브라우저 안에서 직접 검증하며, 검증 결과(통과/실패)만 자바스크립트 변수로 받습니다.
비밀번호 문자열은 네트워크로 전송되지 않고, 브라우저 메모리 안에서만 사용됩니다. 오프라인 환경에서도 동작합니다.
결과 PDF가 원본보다 용량이 다른데 정상인가요?
정상 범위입니다. pdf-lib가 페이지 객체를 그대로 복사하므로 원본 폰트·이미지가 동일하게 들어가며,
암호화 사전·메타데이터가 제거돼 약간 작아지거나, 객체 압축 방식 차이로 약간 커질 수 있습니다.
처리 방식·기술
언제 쓰나 (본인 소유 PDF만)
오래된 본인 계약서몇 년 전 받은 본인 임대차계약서·근로계약서 PDF 비번을 알고 있지만 매번 입력하기 번거로움 — 1회 입력 후 잠금 해제.
본인 의료 기록병원에서 받은 본인 PDF (진단서·CT 결과)의 비번을 알 때, 비번 없는 버전으로 보관해 가족·다른 의료진 공유 편의성.
본인 송장·세금홈택스·은행에서 받은 본인 PDF (세금계산서·이체확인서)의 비번을 풀어 검색·편집 가능 상태로 저장.
본인 졸업증명서학교에서 발급한 본인 PDF (졸업증·성적증명서) 비번 풀기. 외부 제출처에서 비번 없는 버전 요구하는 경우.
법무사 받은 본인 문서변호사·법무사에서 받은 본인 PDF 비번 풀기. 본인 송수신에서만 가능.
본인 사업자 자료본인 사업자등록증·세무신고 PDF 비번 풀기. 회계처리·세무대리인 송부 시 편의성.
⚠️ 본인 소유 PDF만 — 본 도구는 비밀번호 검증을 통과한 PDF만 재저장합니다. 브루트포스(무차별 대입) 기능 없음. 타인 PDF의 비밀번호를 모르면 풀 수 없으며, 그러한 시도는 법적 책임이 발생할 수 있습니다.
2단계 처리 — PDF.js + pdf-lib
비밀번호 검증과 재저장을 분리한 2단계 흐름:
- 비밀번호 검증 (PDF.js) —
pdfjsLib.getDocument({ data, password })로 비밀번호 시도. 틀리면 PasswordException code 2 발생. Enter 키 트리거 + 표시/숨김 토글 지원. - 무손실 재저장 (pdf-lib) — 검증 통과 후
PDFDocument.load(data, { ignoreEncryption: true })로 다시 로드 → 새 PDF로 저장. 텍스트·이미지·하이퍼링크·메타데이터 모두 보존.
"이미지화" 방식이 아니므로 텍스트 검색·복사·OCR 모두 가능. 파일 크기는 ±10% 범위 내 변동.
보존되는 정보·동작
- ✅ 본문 텍스트 (검색·복사·OCR 가능)
- ✅ 이미지·그래픽·로고
- ✅ 하이퍼링크 (외부 URL + 내부 페이지)
- ✅ 메타데이터 (title·author·subject — 시도 보존)
- ✅ 페이지 회전·페이지 순서
- ⚠️ 인터랙티브 폼 (체크박스·입력란) — 일부 변경 가능
- ⚠️ 디지털 서명 — 무효화될 수 있음 (보안상 정상)
- ⚠️ JavaScript·내장 동작 — sandbox 차단 가능
흔한 실수·주의점
- 비번 모름 = 풀 수 없음 — 본 도구는 브루트포스 X. 비밀번호를 모르면 발급기관에 재발급 요청.
- 비번 1·2 분기 분기 — PasswordException code 1 (비번 미입력) / code 2 (비번 틀림). 사용자 alert 차등 안내.
- 일부 PDF 호환성 — 매우 오래된 PDF (1.4 이전) 또는 비표준 암호화는 pdf-lib에서 실패 가능. 그 경우 PDF 뷰어에서 직접 비번 해제 후 다시 시도.
- 디지털 서명 무효화 — 재저장 시 디지털 서명 무효화는 PDF 표준 동작. 서명 PDF는 원본 보존 권장.
- 파일 크기 변동 — pdf-lib 객체 압축 방식이 원본과 달라 ±10% 변동 가능. 비번 제거 자체는 정상.
자주 묻는 질문
비밀번호를 모르는 PDF도 해제할 수 있나요?
아니요. 본 도구는 무차별 대입 공격을 수행하지 않습니다. 사용자가 직접 비밀번호를 알고 있어야 하며,
모르는 PDF는 해제할 수 없습니다. 저작권·보안 정책 보호를 위해, 본인 소유 PDF만 사용하세요.
PDF 파일과 비밀번호가 외부 서버로 전송되나요?
전송되지 않습니다. 모든 처리는 사용자 브라우저 안에서 PDF.js와 pdf-lib 라이브러리로 이루어지며,
사이트 운영자는 파일 내용·비밀번호를 볼 수 없습니다. 비밀번호는 자바스크립트 변수로만 잠시 존재했다가 사라집니다.
비밀번호를 풀면 원본 텍스트·이미지·서식이 유지되나요?
유지됩니다. pdf-lib는 원본 PDF의 페이지 객체를 그대로 복사해 새 파일로 저장하므로
텍스트·이미지·폰트·하이퍼링크가 보존됩니다. 검색·복사 모두 가능합니다.
두 종류 비밀번호(사용자/소유자) 모두 풀리나요?
PDF에는 열기 비밀번호(user)와 권한 비밀번호(owner) 두 가지가 있습니다.
본 도구는 PDF를 열 수 있는 비밀번호를 입력받아 두 암호 모두를 제거한 새 PDF를 생성합니다.
결과 PDF는 비밀번호 없이 열리고 인쇄·복사 제한도 해제됩니다.
이 도구는 합법인가요?
본인이 소유하거나 처리 권한이 있는 PDF에 대해서만 사용하세요. 비밀번호를 모르는 타인 소유 PDF에 대한 우회 시도는
저작권법·정보통신망법 위반이 될 수 있습니다. 본 도구는 합법적 용도(분실한 본인 PDF 정리·반복 입력 절감)를 전제로 합니다.
비밀번호가 틀리면 어떻게 되나요?
PDF.js가 비밀번호를 검증하며, 일치하지 않으면 "비밀번호가 일치하지 않습니다" 알림이 표시되고 처리가 중단됩니다.
비밀번호는 브라우저 메모리 외부로 나가지 않습니다.
참고
최종 검증: 2026-05-17 / PDF.js (Apache 2.0) + pdf-lib (MIT) 라이브러리 사용.
- PDF.js (Apache 2.0) — GitHub
- pdf-lib (MIT) — GitHub
- PDF 암호화 사양 — ISO 32000-1 §7.6 (Encryption)
- File API — MDN
⚠️ 결과 PDF를 다운로드해 비밀번호 없이 열리는지·내용이 손상되지 않았는지 확인하세요.