무료 · 기기 안에서 처리 · 가입 없음

이미지 텍스트 추출 (OCR)

사진이나 화면 캡처, 스캔한 PDF에서 글자를 뽑아 복사하거나 TXT 파일로 받아요. 글자 인식(OCR)이 이 브라우저 안에서 돌아가서, 영수증이나 신분증, 계약서 사진도 기기 밖으로 나가지 않아요. 한국어와 영어가 섞인 글도 읽고, 일본어와 중국어도 돼요.

여기에 파일을 끌어다 놓거나, 화면을 캡처한 뒤 Ctrl+V(맥은 ⌘+V)로 붙여 넣어도 돼요. JPG, PNG, WebP 이미지와 스캔 PDF를 여러 개 한 번에 읽어요.

처음 한 번만 eeeasytest.com에서 약 4.5MB를 내려받아요. 그다음부터는 브라우저에 저장된 걸 써요.
이미지 보정
대비

새로 넣은 이미지는 이 설정으로 바로 읽어요. 나중에 설정을 바꿨다면 다시 추출을 누르세요. 옆으로 누운 사진은 90° 회전을 누르면 돼요.

이미지는 기기 밖으로 나가지 않아요. eeeasytest.com에서 받은 OCR 엔진이 이 브라우저 탭 안에서 글자를 읽고, 아무것도 업로드하지 않아요.

사진에서 글자 추출하는 방법

  1. 글자 언어를 고르세요. 한국어 문서는 영어 단어나 메일 주소가 섞여 있는 경우가 많아서 한국어 + 영어가 기본이에요.
  2. 이미지 고르기를 누르거나 파일을 끌어다 놓으세요. 화면을 캡처했다면 Ctrl+V(맥은 ⌘+V)로 바로 붙여 넣어도 돼요. 스캔한 PDF는 쪽마다 이미지로 읽어요.
  3. 넣자마자 읽기 시작해요. 처음 한 번은 OCR 엔진과 언어 데이터(언어에 따라 약 3~5MB)를 eeeasytest.com에서 내려받고, 다음부터는 브라우저에 저장된 걸 써요.
  4. 결과를 원본과 비교해 보고 틀린 곳은 글상자에서 바로 고치세요. 신뢰도가 낮게 나온 이미지는 특히 꼼꼼히 보세요.
  5. 복사나 TXT 받기로 가져가세요. 여러 장이면 모두 복사로 한 번에 복사할 수 있어요. 문단 안의 줄을 이으려면 줄바꿈 유지를 끄세요.

어떻게 동작하고, 이미지는 어디로 가나요

이미지를 넣으면 브라우저가 파일을 열어 이 페이지 안의 캔버스에 그려요. 흑백, 대비, 확대, 기울기 보정, 회전 같은 보정도 그 캔버스에서 해요. 그다음 이미지를 Tesseract에 넘기는데, Tesseract는 tesseract.js 프로젝트가 WebAssembly로 옮긴 오픈 소스 OCR 엔진이고, 같은 탭 안의 백그라운드 작업(웹 워커)에서 돌아가요.

엔진과 워커 스크립트, 언어 데이터는 모두 외부 CDN이 아니라 eeeasytest.com에 있는 파일이에요. 처음 쓸 때 한 번 내려받고, 언어 데이터는 브라우저 저장 공간(IndexedDB)에 남겨 다시 받지 않아요. 이미지와 추출한 글자는 어디로도 보내지 않아요. 업로드도, 가입도, 서버 처리도 없고, 탭을 닫으면 이미지와 글자도 사라져요.

EasyTest의 다른 페이지처럼 이 페이지도 구글 애널리틱스와 애드센스를 불러와요. 이 둘은 이미지나 글자를 받지 않고, 애널리틱스에는 복사나 저장을 했다는 사실만 남아요. 저장된 언어 데이터를 지우고 싶다면 브라우저 설정에서 이 사이트의 데이터를 지우세요.

OCR은 어떻게 글자를 읽을까요

OCR(광학 문자 인식)은 글자가 찍힌 그림을 고칠 수 있는 텍스트로 바꾸는 기술이에요. 이 도구가 쓰는 Tesseract는 1984년부터 1994년까지 HP에서 개발됐고, 2005년에 HP가 오픈 소스로 공개했어요. 레이 스미스(Ray Smith)의 2007년 논문은 원래 엔진이 이어진 잉크 덩어리의 윤곽을 찾아 줄과 단어로 묶은 뒤 단어를 하나씩 알아보는 방식이라고 설명해요.

버전 4부터는 LSTM(장단기 메모리)이라는 신경망으로 글자를 읽는 엔진이 들어갔고, 이 도구도 그 엔진을 써요. 글자 모양을 한 자씩 맞춰 보는 대신 한 줄을 통째로 순서대로 읽어서, 자간이 고르지 않거나 글자가 붙어 있어도 비교적 잘 읽어요. 어떤 글자를 내놓을 수 있는지는 고른 언어 모델이 정하기 때문에 언어 설정이 결과를 크게 좌우해요.

여기서 쓰는 언어 데이터는 Tesseract 공식 저장소의 'fast' 모델이에요. 프로젝트 설명대로 속도와 정확도 사이에서 균형을 잡은 정수형 모델이라, 언어마다 압축해서 1~2MB 정도라 휴대폰에서도 금방 받고 돌릴 수 있어요. 결과 옆의 신뢰도는 Tesseract가 단어마다 매긴 자체 점수의 평균이에요. 어느 결과를 더 꼼꼼히 봐야 할지 알려 주는 참고값일 뿐, 실제로 맞힌 비율은 아니에요.

더 정확하게 읽히는 사진 찍는 법

  • 해상도: 스캔한다면 300dpi로 하세요. Tesseract 문서에서도 300dpi 이상일 때 가장 잘 읽는다고 해요. 사진 속 글자가 작다면 더 가까이서 찍으세요. 기본으로 켜져 있는 작은 이미지 2배 확대는 가로세로 2,500픽셀 이하인 화면 캡처나 작은 이미지를 두 배로 키워서, 작은 글자를 더 잘 읽게 해 줘요.
  • 조명: 종이 전체에 빛이 고르게 들게 하고, 그림자나 반사광이 생기지 않게 하세요. 그림자 진 모서리는 글자를 놓치는 흔한 원인이에요.
  • 종이는 평평하게, 정면에서: 휴대폰을 종이와 나란하게 들고 찍으세요. 휘어진 책장이나 비스듬히 찍은 사진은 줄이 휘어 보여요. 조금 기운 스캔은 기울어진 글자 바로잡기를, 옆으로 누운 사진은 90° 회전을 쓰세요.
  • 필요한 부분만: 넣기 전에 글자가 있는 부분만 잘라 내세요. 옆에 있는 사진, 로고, 표 테두리가 배치 인식을 헷갈리게 해요.
  • 흐리거나 색이 있는 종이: 대비를 흑백 두 색이나 높이기로 바꿔 보세요.

한국어 OCR에서 알아 둘 점

  • 한국어 + 영어로 고르세요: 한국어만 고르면 영어 단어, 메일 주소, 웹 주소가 엉뚱한 글자로 나와요. 영어가 전혀 없는 글일 때만 한국어만을 고르세요.
  • 띄어쓰기를 확인하세요: 한국어 결과에서 가장 흔한 실수는 띄어쓰기예요. 한 단어 안에 공백이 들어가거나 단어 사이 공백이 빠지기도 해요. 서류나 신청서에 붙여 넣기 전에 꼭 확인하세요.
  • 숫자와 기호를 확인하세요: 소수점이나 쉼표처럼 작은 기호는 빠지기 쉬워요. 금액, 날짜, 전화번호, 계좌번호는 원본과 한 번 더 비교하세요.
  • 줄을 이을 때: 줄바꿈 유지를 끄면 한국어 줄은 띄어쓰기 하나로 이어 붙여요. 한국어 글은 보통 단어 사이에서 줄이 바뀌기 때문이에요. 단어 중간에서 줄이 바뀐 곳이 있으면 생긴 공백을 지워 주세요.
  • 세로쓰기는 안 돼요: 위에서 아래로 쓴 한국어, 일본어, 중국어는 읽지 못해요. 일본어와 중국어는 글자 사이에 Tesseract가 넣는 공백을 자동으로 지워요.

잘 안 되는 경우

  • 손글씨: Tesseract는 인쇄된 글자를 읽도록 만들어졌어요. 손으로 쓴 메모나 서명은 대부분 틀리게 나와요.
  • 꾸민 글꼴과 복잡한 배경: 장식이 많은 글꼴, 사진 위에 얹은 글자, 해상도가 아주 낮은 이미지는 결과가 나빠요.
  • 표와 여러 단: 결과가 일반 텍스트라 표 모양은 사라지고, Tesseract 문서에서도 표 인식이 약하다고 밝히고 있어요. 단이 여러 개인 페이지는 읽는 순서가 섞일 수 있어요.
  • 긴 PDF: PDF 하나에서 앞의 30쪽까지 한 쪽씩 읽어서 휴대폰에서는 시간이 걸려요. 이미 글자를 선택할 수 있는 PDF라면 PDF 뷰어에서 바로 복사하는 게 더 정확해요.

자주 묻는 질문

이미지가 서버로 올라가나요?
아니요. 이미지는 이 브라우저 탭 안에서 열고 읽어요. OCR 엔진과 언어 데이터는 eeeasytest.com에서 받아 기기에서 실행하기 때문에 업로드도, 서버 처리도 없어요. 추출한 글자도 어디로도 보내지 않아요.
띄어쓰기가 틀리거나 글자가 엉뚱하게 나와요.
Tesseract의 한국어 모델은 띄어쓰기를 자주 틀리고, 모양이 비슷한 글자를 헷갈리기도 해요. 언어가 한국어 + 영어로 돼 있는지 먼저 확인하고, 글자가 작으면 확대를 켜 두고, 종이가 흐리면 흑백, 기울었으면 기울기 보정을 켜 보세요. 이름, 숫자, 소수점은 꼭 원본과 비교하세요.
손글씨도 읽을 수 있나요?
잘 읽지 못해요. Tesseract는 인쇄된 글자를 읽도록 만들어져서 손글씨, 서명, 장식이 많은 글꼴은 대부분 틀리게 나와요. 문서, 영수증, 화면 캡처, 책처럼 또렷하게 인쇄된 글자가 가장 잘 읽혀요.
표 모양 그대로 가져올 수 있나요?
아니요. 결과는 줄바꿈만 있는 일반 텍스트예요. 표의 칸은 띄어쓰기로 이어지고, 여러 열이 가로로 섞여 읽힐 수 있어요. 표는 한 열씩 잘라서 읽는 게 나아요.
어떤 언어를 읽을 수 있나요?
한국어, 영어, 일본어, 중국어 간체와 번체를 읽어요. 두 언어가 섞인 문서는 한국어 + 영어처럼 함께 고르세요. 한 언어만 고르면 다른 언어로 쓴 단어가 엉뚱한 글자로 나와요. 세로쓰기는 읽지 못해요.
인터넷 없이도 쓸 수 있나요?
페이지를 연 뒤 엔진과 언어 데이터를 한 번 받아 두면, 글자를 읽을 때는 인터넷이 필요 없어요. 언어 데이터는 다음에 쓸 수 있게 브라우저 저장 공간에 남아요. 브라우저 설정에서 이 사이트의 데이터를 지우면 함께 지워져요.

참고 자료

  1. Smith, R. (2007). An Overview of the Tesseract OCR Engine. ICDAR 2007, 629–633쪽 (HP 개발 역사와 원래 구조)
  2. Tesseract OCR 깃허브 (버전 4에 추가된 줄 단위 LSTM 엔진)
  3. tesseract-ocr/tessdata_fast: 이 페이지가 쓰는 fast 정수형 언어 모델
  4. Tesseract 문서: Improving the quality of the output (300dpi, 기울기, 표)
  5. tesseract.js 7.0.0: 브라우저용 WebAssembly Tesseract (Apache License 2.0)

이미지는 기기 밖으로 나가지 않아요. OCR 엔진과 언어 데이터는 eeeasytest.com에서 받아 브라우저 안에서 실행하고, 업로드도 가입도 서버 처리도 없어요.