hwp 파일을 받았는데 열리지 않을 때 확장자를 doc로 바꿔 보라는 조언을 자주 만납니다.
그런데 막상 해 보면 워드가 파일을 집어 드는 것 같다가 깨진 글자만 잔뜩 뱉거나 아예 거부합니다.
왜 될 듯 말 듯 하다가 안 되는지 궁금해서, hwp 파일 하나를 골라 안을 직접 열어 봤습니다.
공공데이터포털에서 배포하는 활용가이드 문서였고 크기는 163,840바이트였습니다.

겉봉투는 같은데 속에 든 서류가 다릅니다
파일 종류는 확장자가 아니라 파일 맨 앞의 몇 바이트로 판별됩니다. 이 hwp의 앞 8바이트를 찍어 보니 이렇게 나왔습니다.
d0 cf 11 e0 a1 b1 1a e1
이 서명은 OLE 복합 파일이라는 뜻입니다.
예전 워드의 doc, 예전 엑셀의 xls와 글자 하나 다르지 않게 같은 서명입니다. 확장자를 바꿨을 때 워드가 잠깐 반응하는 이유가 여기 있습니다. 봉투 규격이 같으니 일단 받아는 드는 셈입니다.
문제는 그 다음입니다. OLE 복합 파일은 그 자체가 작은 폴더 같은 구조여서, 안에 이름표가 붙은 칸이 여러 개 들어 있습니다. 워드는 그중 WordDocument라는 이름의 칸을 찾습니다. 이 hwp를 열어 칸 이름을 전부 뽑아 보니 11개가 나왔는데, 그 이름은 없었습니다.
| 칸 이름 | 무엇이 들었나 | 크기 |
|---|---|---|
| FileHeader | 형식, 버전, 압축과 암호 여부 | 256 B |
| DocInfo | 글꼴과 문단 모양 설정 | 2,577 B |
| BodyText/Section0 | 본문 글자 | 11,913 B |
| PrvText | 본문 미리보기 텍스트 | 2,046 B |
| PrvImage | 첫 장 미리보기 그림 | 20,004 B |
| BinData/BIN0001.jpg | 문서에 넣은 사진 | 82,430 B |
확장자는 봉투에 적은 글씨일 뿐이고, 프로그램은 봉투 속 서류 이름을 보고 판단합니다.
이름표가 다르니 워드로서는 열 도리가 없습니다. 확장자만 바꿔서는 형식이 바뀌지 않는다는 이야기는 따로 정리해 둔 글이 있습니다.
참고로 맨 앞 256바이트짜리 FileHeader 칸을 읽어 보면 HWP Document File이라는 문구와 버전 5.0.5.0, 그리고 본문이 압축되어 있고 암호는 걸려 있지 않다는 정보까지 들어 있었습니다. 파일 스스로가 자기소개를 적어 두고 있는 셈입니다.
정작 글자가 차지한 자리는 7%였습니다
칸별 크기를 재 보고 조금 놀랐습니다. 이 문서에서 본문 글자가 든 칸은 11,913바이트로 전체의 7.3%였습니다.
반면 그림 세 개를 합치면 136,650바이트, 파일의 83.4%였습니다.
그러니까 hwp 파일이 유난히 무겁다면 원인은 대개 안에 붙여 넣은 사진과 화면 캡처입니다. 글을 아무리 길게 써도 글자가 차지하는 자리는 생각보다 작습니다. 겉보기엔 파일 하나인데 속에 여러 파일이 들어 있는 구조는 엑셀 xlsx도 똑같아서, 엑셀 용량이 갑자기 커지는 원인을 다룬 글과 진단 방식이 그대로 겹칩니다.
본문 칸은 압축까지 되어 있었습니다. 11,913바이트를 풀자 55,192바이트가 나왔으니 4.6배로 접혀 있던 셈입니다.
hwp를 메모장으로 열면 대부분 알아볼 수 없는 기호로 보이는 이유가 여기 있습니다. 글자는 분명히 그 안에 있지만 접힌 채로 놓여 있어 그대로는 읽히지 않습니다.
다만 전부 접혀 있는 건 아니어서, 접히지 않은 칸이 하나 남아 있습니다. 이게 뒤에서 쓸모가 있습니다.
정공법은 결국 뷰어입니다
가장 확실한 길은 한컴오피스 뷰어입니다.
한컴이 읽기 전용으로 무료 배포하는 프로그램이라, 문서를 고칠 일 없이 보기만 하면 되는 상황에 맞습니다.
설치가 부담스럽다면 네이버 웨일 브라우저에 hwp 문서를 열어 주는 기능이 있고,
폴라리스 오피스처럼 hwp를 지원하는 오피스 앱도 있습니다.
다만 이 도구들은 버전과 시점에 따라 지원 범위가 달라지는 편이라 이름만 짚어 두겠습니다. 온라인 변환 사이트도 있지만 파일이 외부 서버로 올라가므로, 계약서나 인사 서류처럼 민감한 문서라면 권하지 않습니다.
회사 PC라 아무것도 못 깔 때
설치 권한이 막혀 있고 내용만 급히 확인하면 되는 상황이 있습니다.
앞의 표에서 본 PrvText 칸이 여기서 쓸모가 있습니다.
한컴이 목록에서 미리보기를 띄우려고 넣어 두는 칸인데,
본문 텍스트가 압축되지 않은 상태로 들어 있습니다.
파이썬이 깔려 있다면 네 줄이면 됩니다. olefile은 hwp의 칸 구조를 읽어 주는 파이썬 라이브러리입니다.
import olefile
ole = olefile.OleFileIO("받은문서.hwp")
print(ole.openstream("PrvText").read().decode("utf-16le", "ignore"))
실제로 돌리자 1,023자, 빈 줄을 뺀 19줄이 나왔습니다.
앞부분을 그대로 옮기면 이렇습니다.
<>
<토지이음(www.eum.go.kr) 표준연계모듈 연계 가이드>
<>
2024. 02.
<>< 도시정책과>
<목 차>
문서 제목과 작성 시기, 발신 부서가 바로 읽힙니다.
중간중간 낀 꺾쇠 기호는 표의 칸 경계가 남은 흔적이라 눈으로 걸러 읽으면 됩니다.
한계도 분명합니다. 이름 그대로 미리보기라 문서 전체가 아니라 앞부분만 담기고, 표는 줄줄이 풀어져 늘어서며 서식과 그림은 빠집니다. 이 문서가 지금 급한 것인지 가늠하는 용도로는 충분하지만, 제대로 읽거나 고치려면 결국 뷰어가 필요합니다.
자주 걸리는 두 가지
Q. hwp와 hwpx는 다른 파일인가요?
같은 한글 문서지만 담는 방식이 다릅니다. 지금 확인한 hwp는 위와 같은 OLE 복합 파일이고, hwpx는 개방형 표준으로 만든 별개 형식입니다. 받은 파일이 어느 쪽인지는 확장자를 zip으로 바꿔 압축 프로그램으로 열어 보면 갈립니다. 열리면 hwpx 계열이고, 이 글에서 다룬 hwp는 압축 파일이 아니라 열리지 않습니다.
Q. 문서에 들어 있는 사진만 따로 빼낼 수 있나요?
됩니다. 사진이 든 BinData 칸도 압축되어 있는데, 압축을 풀어 보니 앞 세 바이트가 ff d8 ff로 시작하는 JPEG 파일이 그대로 나왔습니다. 다만 문서 저작권과 별개 문제이니, 남의 문서에서 꺼낸 이미지를 다시 쓰는 일은 조심하시는 편이 좋습니다.
지금 안 열리는 hwp가 있다면, 확장자를 만지는 대신 한컴오피스 뷰어부터 받아 보세요. 확장자를 바꾸는 시도는 파일만 헷갈리게 만들 뿐 열리게 해 주지는 않습니다.
확인에 쓴 파일은 공공데이터포털에서 받은 hwp 문서 한 개이고, 파이썬 olefile 0.47로 열어 칸 이름과 크기, 압축 해제 결과를 직접 읽었습니다. 그림 비중은 문서마다 크게 달라지므로 83.4%는 이 파일에 한정된 수치로 봐 주시면 됩니다.
참고하면 좋은 글
한컴 없이 hwp 열기, 확장자 바꾸기가 안 통하는 이유와 실제로 되는 방법
hwp 파일을 받았는데 열리지 않을 때 확장자를 doc로 바꿔 보라는 조언을 자주 만납니다.그런데 막상 해 보면 워드가 파일을 집어 드는 것 같다가 깨진 글자만 잔뜩 뱉거나 아예 거부합니다. 왜 될
richyeon.com
사진 옮겼더니 찍은 날짜가 전부 오늘, 촬영일이 진짜 사라지는 지점은 따로 있습니다
여행 사진 수백 장을 폰에서 컴퓨터로 옮겨 놓고 날짜순으로 정렬했더니,몇 년에 걸쳐 찍은 사진이 전부 같은 날 찍힌 것처럼 줄을 섭니다.파일 목록에 뜬 날짜는 하나같이 오늘입니다. 먼저 안
richyeon.com
'파일 형식 백과사전' 카테고리의 다른 글
| 가변 폰트(Variable Font)란, 파일 하나로 굵기가 바뀌는 원리를 열어서 확인했습니다 (0) | 2026.08.23 |
|---|---|
| 사진 옮겼더니 찍은 날짜가 전부 오늘, 촬영일이 진짜 사라지는 지점은 따로 있습니다 (0) | 2026.08.11 |
| 용량 제한에 걸린 큰 파일, 조각으로 나눠 보내고 받은 쪽에서 합치는 법 (0) | 2026.08.10 |
| 행은 3천 개뿐인데 엑셀 파일이 3.4MB, 용량을 먹는 범인을 파일 안에서 찾아내기 (0) | 2026.08.09 |
| 움짤(GIF) 용량이 유독 커요, 프레임과 색상 수로 줄이는 법 (0) | 2026.08.08 |