이미지에서 텍스트와 표를 뽑아낼 때 OCR 프로그램 대신 AI 챗봇 프롬프트만으로 처리하는 방법을 정리합니다. 사진 속 손글씨 메모, 스캔한 계약서, 스크린샷 안의 표까지 상황별로 어떤 프롬프트를 쓰면 결과가 깔끔한지, 어디서 자주 틀리는지까지 짚어봅니다.

이미지 속 글자를 문서로 옮겨야 하는데 타이핑하기엔 양이 많고, 무료 OCR(사진 속 글자를 자동으로 읽어주는 기술) 프로그램은 표가 뭉개지거나 한글이 깨져 나올 때가 많습니다. 이럴 때 요즘은 ChatGPT나 Claude 같은 AI 챗봇에 이미지를 올리고 프롬프트(AI에게 시키는 문장)로 지시하면 훨씬 깔끔하게 뽑히곤 합니다.
이 글은 OCR 프로그램을 따로 설치하지 않고 챗봇 대화창만으로 사진·스크린샷·스캔본에서 텍스트와 표를 뽑아내는 방법을 다룹니다. 상황별로 어떤 프롬프트가 통하는지, 왜 그렇게 써야 하는지, 그리고 AI가 잘못 읽었을 때 어떻게 잡아내는지까지 살펴봅니다.
처음에는 그냥 "글자 뽑아줘"만 던져도 그럴듯한 결과가 나오지만, 표가 섞이거나 손글씨가 들어가면 원하는 형태로 안 나옵니다. 이 지점에서 프롬프트를 다듬는 습관이 생기면 결과가 확 달라집니다.
AI 추출과 전통 OCR은 뭐가 다른가
전통 OCR은 이미지의 픽셀 패턴을 글자 모양과 대조해 인식합니다. 반면 최근의 멀티모달 AI(이미지와 텍스트를 함께 이해하는 AI)는 이미지 전체의 문맥을 함께 읽고, 문장의 의미를 고려해 글자를 추정합니다.
이 차이가 실전에서 크게 드러나는 지점이 몇 가지 있습니다.
| 상황 | 전통 OCR | 멀티모달 AI |
|---|---|---|
| 인쇄된 깔끔한 문서 | 잘 됨 | 잘 됨 |
| 사진 각도가 틀어진 문서 | 자주 실패 | 대체로 인식 |
| 손글씨 메모 | 약함 | 개선됨 (단, 확인 필요) |
| 표 구조 유지 | 무너지기 쉬움 | 구조 지시 가능 |
| 도표 안의 설명 | 위치 정보 손실 | 문맥으로 재구성 |
대신 AI에는 단점도 있습니다. "환각"이라고 부르는 문제인데, 흐릿한 글자를 못 읽고 그럴듯한 다른 단어로 채워 넣는 경우입니다. 계약서 금액이나 이름처럼 정확도가 중요한 정보라면 AI 결과를 그대로 믿지 말고 원본과 대조하는 절차를 반드시 넣어야 합니다.
결국 AI 추출은 속도와 유연함이 강점이고, OCR은 기계적 재현성이 강점입니다. 어느 쪽이 낫다기보다, 문서 종류에 따라 갈라 쓰는 게 현실적입니다.
기본 프롬프트 골격 세 가지
이미지를 올리고 그냥 "여기 뭐라고 써있어?"라고만 물으면 AI가 요약하거나 해석해서 답할 때가 있습니다. 우리가 원하는 건 있는 그대로의 텍스트이므로, 프롬프트에 몇 가지 조건을 명시적으로 넣어야 합니다.
가장 자주 쓰는 골격 세 개를 정리하면 이렇습니다.
1) 원문 그대로 뽑기
이 이미지에 적힌 텍스트를 원문 그대로 옮겨줘. - 요약하거나 해석하지 말 것 - 줄바꿈과 문단 구조 유지 - 읽을 수 없는 글자는 [?]로 표시
마지막 줄이 핵심입니다. "읽을 수 없으면 [?]로 표시"라고 지시해두면, AI가 흐릿한 부분을 억지로 채우려는 성향을 눌러줍니다.
2) 표를 마크다운으로 뽑기
이미지 속 표를 마크다운 표 형식으로 변환해줘. - 행과 열 순서 그대로 유지 - 셀이 병합된 경우 병합 상태 주석으로 표시 - 숫자는 콤마와 단위까지 그대로
엑셀에 바로 붙여넣을 게 아니라면 마크다운 표가 다루기 편합니다. 티스토리나 노션에 바로 붙여넣어도 표 모양이 살아있으니까요.
3) 구조가 복잡한 문서에서 뽑기
이 문서 이미지를 아래 JSON 구조로 정리해줘.
{
"제목": "",
"작성일": "",
"본문": [],
"표": []
}
확실하지 않은 값은 null로 남겨두고 추측하지 말 것.
JSON(데이터를 항목별로 정리하는 형식)까지 갈 필요는 없지만, 여러 이미지를 한꺼번에 처리해 스프레드시트로 옮길 때는 이 형태가 편합니다.
상황별로 프롬프트 다듬기
문서 종류마다 걸리는 지점이 달라서, 위 골격을 조금씩 손봐야 합니다.
손글씨 메모
손글씨는 획이 겹치거나 흘려 쓴 부분에서 AI가 자주 헷갈립니다. 이때는 후보를 함께 제시하도록 유도합니다.
이 손글씨 메모의 텍스트를 옮겨줘. - 애매한 글자는 가장 가능성 높은 후보 2~3개를 [A/B/C] 형식으로 병기 - 문맥상 확실한 부분은 그대로 옮기기
예를 들어 회의 중 받아 적은 메모를 정리하면, "김[민수/민석] 님이 3분기 예산 [증액/증엔]을 요청" 같은 식으로 결과가 나옵니다. 검수할 때 어디를 다시 봐야 하는지 바로 눈에 들어옵니다.
스캔한 계약서·증빙 서류
이 경우는 정확도가 곧 신뢰의 문제이므로, AI 단독 결과를 최종본으로 쓰면 위험합니다. 프롬프트에도 이 태도를 반영합니다.
이 계약서 이미지의 텍스트를 원문 그대로 옮겨줘. - 금액, 날짜, 이름, 계좌번호는 특히 정확하게 - 확신이 없는 문자는 반드시 [?]로 표시 - 문서에 없는 내용을 추가하지 말 것
그리고 반드시 원본 이미지와 나란히 두고 대조 검수를 합니다.
💡 금액·계좌번호·주민등록번호 같은 정보는 챗봇에 올리기 전 마스킹(가리기) 여부를 먼저 고민하세요. AI 서비스마다 입력 데이터 처리 정책이 다르므로, 민감한 서류는 해당 서비스의 공식 정책을 확인한 뒤 올리는 게 안전합니다.
스크린샷 속 표 (대시보드·재무제표)
숫자가 많은 표는 열이 어긋나기 쉽습니다. 열 이름을 미리 알려주면 정렬이 훨씬 안정적입니다.
이 스크린샷의 표를 마크다운으로 변환해줘. 열 순서는 다음과 같아: 날짜 / 항목 / 수량 / 단가 / 합계 - 빈 셀은 "-"로 표시 - 합계 행이 있으면 마지막 행에 유지
여러 언어가 섞인 이미지
한글과 영어, 혹은 일본어가 섞인 문서는 언어별 처리 방식을 정해주는 게 좋습니다.
이 이미지의 텍스트를 옮기되: - 한글은 한글 그대로 - 영어는 영어 그대로 - 번역하지 말 것 - 언어가 바뀌는 지점에 줄바꿈
AI가 잘못 읽었는지 확인하는 방법
AI 추출의 가장 큰 함정은 틀린 답을 자신 있게 내놓는다는 점입니다. 사람 눈에는 완성된 문장으로 보이니까 그대로 붙여 넣게 되죠. 그래서 검수 절차 자체를 프롬프트 흐름에 넣어두면 좋습니다.
자주 쓰는 검수 흐름은 이렇습니다.
사용자: [이미지 업로드] + 원문 추출 요청
↓
AI: 텍스트 반환
↓
사용자: "방금 결과에서
확신도가 낮은 부분만
따로 뽑아줘"
↓
AI: 애매한 구간 목록
↓
사람이 원본과 대조
두 번째 질문이 핵심입니다. "확신도 낮은 부분만 표시해줘"라고 한 번 더 물으면, AI가 스스로 애매했던 지점을 꽤 정직하게 짚어주는 편입니다.
체크리스트로도 정리해둘 만합니다.
- ☐숫자(금액, 날짜, 수량)는 원본과 자릿수까지 확인했는가
- ☐사람 이름과 고유명사는 대조했는가
- ☐표의 행 개수가 원본과 같은가
- ☐줄바꿈이 원본 문단 구조와 일치하는가
- ☐AI가 [?]나 null로 남긴 부분을 사람이 확인했는가
자주 막히는 부분
"AI가 자꾸 요약해서 답한다" — 프롬프트에 "요약하지 말고 원문 그대로"라는 문구가 없으면 AI가 알아서 요약해버리는 경우가 많습니다. 특히 긴 문서 이미지일수록 AI는 친절하게 요약해주려는 경향이 있어서, 이 지시는 반복해서 넣어야 합니다.
"표가 텍스트로 풀려서 나온다" — "마크다운 표 형식으로"라고 명시하지 않으면 문장으로 풀어 쓸 때가 있습니다. 표 형식을 원한다면 반드시 출력 형식을 지정하세요.
"이미지가 여러 장인데 순서가 섞인다" — 챗봇에 여러 장을 한 번에 올리면 순서가 뒤죽박죽될 수 있습니다. 이럴 때는 이미지마다 파일명을 "01.png, 02.png…"처럼 붙이고, 프롬프트에 "파일명 순서대로 처리"라고 명시하는 편이 안전합니다.
"글자가 뭉개진 부분을 그럴듯하게 채운다" — 앞서 말한 환각입니다. "확실하지 않으면 [?]로"라는 조건을 넣지 않으면 AI가 문맥으로 추측한 결과를 정답처럼 내놓습니다. 검수 단계에서 이 부분을 잡을 수 없다면, 애초에 원본과 대조 가능한 문서에만 AI 추출을 쓰는 게 안전합니다.
"긴 문서인데 중간부터 잘려서 나온다" — 이미지가 세로로 매우 긴 경우 AI가 아래쪽을 놓칠 수 있습니다. 문서를 상·중·하로 잘라서 올리거나, "이미지의 아래쪽 절반도 빠짐없이 옮겨줘"라고 명시적으로 요청하는 방법이 있습니다.
실전 워크플로 예시
블로그에 옮길 자료를 스캔본으로 받았다고 가정해봅시다. 텍스트·표·이미지 설명이 섞인 3페이지짜리 문서입니다. 저라면 이렇게 진행합니다.
- 페이지 단위로 이미지를 나눠 올립니다 (한 번에 한 페이지).
- 첫 페이지에 "원문 그대로 옮기고, 애매한 글자는 [?]로 표시" 프롬프트를 씁니다.
- 표가 있는 페이지에서는 "표는 마크다운, 나머지 본문은 그대로" 프롬프트로 바꿉니다.
- 각 페이지가 끝날 때마다 "확신도 낮은 부분만 목록으로" 요청해 검수 포인트를 뽑습니다.
- 마지막에 원본과 나란히 놓고 숫자·이름·날짜를 눈으로 대조합니다.
시간이 얼마나 걸릴지는 문서 상태에 따라 다르지만, 손으로 다 타이핑하는 것보다 검수 시간까지 포함해도 대체로 짧습니다. 특히 표가 많은 문서에서 체감이 큽니다.
이제 뭘 해보면 좋을까
당장 시도해볼 수 있는 건, 책상 위에 굴러다니는 영수증이나 명함 한 장을 사진 찍어 챗봇에 올려보는 것입니다. "원문 그대로, 애매하면 [?]로 표시" 이 한 줄만 붙여도 결과의 신뢰도가 눈에 띄게 달라집니다.
이후에는 자신이 자주 다루는 문서 유형(회의록, 영수증, 계약서, 대시보드 캡처 등)에 맞춰 프롬프트 골격을 하나씩 저장해두면 좋습니다. 매번 새로 쓰는 것보다, 자신의 문서 스타일에 맞춰 다듬어둔 프롬프트가 훨씬 안정적으로 작동합니다.
민감정보가 담긴 서류는 사용하는 AI 서비스의 공식 데이터 처리 정책을 한 번 확인한 뒤 올리는 습관도 함께 들이길 권합니다. 편리함과 별개로, 어떤 데이터가 어디로 가는지 아는 것은 이 도구를 오래 잘 쓰기 위한 최소한의 태도입니다.
함께 보면 좋은 글
'AI & LLM > 프롬프트 엔지니어링' 카테고리의 다른 글
| 프롬프트 긴 문서, AI가 앞부분만 읽을 때 해결법 (0) | 2026.08.04 |
|---|---|
| 시스템 프롬프트 위치, 어디에 넣느냐가 답변을 바꾼다 (0) | 2026.08.02 |
| 프롬프트 엑셀 정리, 정렬·필터·피벗 지시어 쓰는 법 (0) | 2026.07.24 |
| Gemini 프롬프트 잘 쓰는 법, ChatGPT와 다른 5가지 지시어 (1) | 2026.07.24 |
| 번역 프롬프트 작성법: 자연스러운 한국어 만드는 5가지 지시어 (1) | 2026.07.22 |