How to Extract Text from Images Using OCR in Python (With Tesseract & EasyOCR)

How to Extract Text from Images Using OCR in Python (With Tesseract & EasyOCR)

Looking for a way to turn photos or scanned documents into real, editable text? Welcome to the world of OCR — Optical Character Recognition.

What is OCR?

OCR helps you extract machine-readable text from images. From scanning invoices to digitizing receipts or reading license plates — it automates it all.

Best Python Libraries for OCR

  • pytesseract – A Python wrapper for Google’s Tesseract engine.
  • EasyOCR – Built for deep learning-based OCR with multilingual capabilities.

How to Set Up OCR in Python

Install dependencies:

pip install pytesseract easyocr pillow

Code Example – Extracting Text from an Invoice

Using Tesseract:

`from PIL import Image import pytesseract

text = pytesseract.imagetostring(Image.open('invoice.png')) print(text) `

Using EasyOCR:

`import easyocr

reader = easyocr.Reader(['en']) results = reader.readtext('receipt.jpg') for result in results: print(result[1]) `

Detect Multilingual Text

Both tools support multiple languages.

pytesseract : Use lang='eng+hin'

easyocr : Use Reader(['en', 'hi', 'fr'])

Use Cases

  • Scan invoices and extract payment details
  • Parse printed receipts for inventory apps
  • Read license plates from traffic cams
  • Translate text from foreign signage

Final Thoughts

OCR is a powerful tool for digitizing real-world content. Whether you’re automating backend tasks or building AI-based systems, tools like Tesseract and EasyOCR make it simple.

Want to build your own document reader or smart scanner? Start with these libraries and add AI for context-aware enhancements.