EasyOCR is a free developer-friendly OCR "Optical Character Recognition" that supports 80+ languages including Latin, Chinese, Arabic, and Cyrillic.
EasyOCR is written in the Python programming language. It can be installed as a Python package, and integrates well with other Python Frameworks like Django, Flask, and others.
You can test the demo here, as you can upload images in different format and test several languages.
It comes with a trainer models that can be used to train for new languages, dozens of example datasets for model training, user-friendly instructions on how to train custom recognition models and more.
It also supports vertical text, and PIL images, and more.
How does EasyOCR work?
The idea is to be able to plug in any state-of-the-art model into EasyOCR. There are a lot of geniuses trying to make better detection/recognition models, but we are not trying to be geniuses here. We just want to make their works quickly accessible to the public ... for free. (well, we believe most geniuses want their work to create a positive impact as fast/big as possible) The pipeline should be something like the below diagram. Grey slots are placeholders for changeable light blue modules.
EasyOCR is an open-source project that is released under the Apache-2.0 License.