EasyOCR weights (CRAFT detector and English recogniser) in safetensors
The two pretrained models the EasyOCR en reader uses, converted from the
official .pth files to .safetensors. Nothing was retrained or modified: every tensor is identical, in value and dtype,
to the original, and the key names (including the module. prefix) are unchanged.
| File | Model | Tensors | SHA-256 |
|---|---|---|---|
craft_mlt_25k.safetensors |
CRAFT text detector | 154 | 4ab7f69bd8161b437f18f1718b8f6e58136bd081639f238b567e987415c20268 |
english_g2.safetensors |
English recogniser (CRNN, "generation 2") | 44 | 307a47690148280d00e4314b1868ebce44089d0974903a56fe7822902d1b31d0 |
SHA256SUMS lists the same values: sha256sum -c SHA256SUMS.
Origin
Converted from the official EasyOCR release assets (EasyOCR's own MD5 values in easyocr/config.py are shown):
| Original | Release asset | MD5 of the original .pth |
|---|---|---|
craft_mlt_25k.pth |
https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/craft_mlt_25k.zip | 2f8227d2def4037cdb3b34389dcf9ec1 |
english_g2.pth |
https://github.com/JaidedAI/EasyOCR/releases/download/v1.3/english_g2.zip | 5864788e1821be9e454ec108d61b887d |
Conversion: torch.load(..., weights_only=True) of the state dict, then safetensors.torch.save_file. The saved file was
loaded back and compared tensor by tensor with the original (all equal). An EasyOCR reader fed these tensors returned the
same boxes, text and confidences as the original reader on the test images it was checked with (CPU).
Use
These are state dicts, not a ready easyocr.Reader folder: EasyOCR itself only looks for MD5-checked .pth files, so the
detector and recogniser have to be built from the state dicts by the caller.
from safetensors.torch import load_file
craft = load_file("craft_mlt_25k.safetensors") # CRAFT state dict (keys start with "module.")
recog = load_file("english_g2.safetensors") # recogniser state dict (keys start with "module.")
Licence and attribution
The files are redistributed under the licences of the projects they come from. Keep these notices with them.
- EasyOCR, JaidedAI: Apache License 2.0. https://github.com/JaidedAI/EasyOCR
- CRAFT (
craft_mlt_25k), Clova AI Research, NAVER Corp.: MIT License. https://github.com/clovaai/CRAFT-pytorch. Paper: Baek et al., "Character Region Awareness for Text Detection", CVPR 2019 (https://arxiv.org/abs/1904.01941). EasyOCR ships Clova AI's pretrained CRAFT model. - Recognition training pipeline, a modified version of
clovaai/deep-text-recognition-benchmark: Apache License 2.0. https://github.com/clovaai/deep-text-recognition-benchmark. Model architecture: CRNN (Shi et al., 2015).
The upstream projects publish licences for their code. The weight files carry no separate licence statement that was found, so they are assumed to follow the repositories above. This repository is an unofficial conversion and is not affiliated with JaidedAI or Clova AI.