https://github.com/otiai10/gosseract
Go package for OCR (Optical Character Recognition), by using Tesseract C++ library
https://github.com/otiai10/gosseract
go ocr ocr-server tesseract tesseract-ocr
Last synced: 19 days ago
JSON representation
Go package for OCR (Optical Character Recognition), by using Tesseract C++ library
- Host: GitHub
- URL: https://github.com/otiai10/gosseract
- Owner: otiai10
- License: mit
- Created: 2013-10-11T07:27:53.000Z (about 13 years ago)
- Default Branch: main
- Last Pushed: 2026-01-16T16:26:55.000Z (10 months ago)
- Last Synced: 2026-10-12T03:15:54.072Z (26 days ago)
- Topics: go, ocr, ocr-server, tesseract, tesseract-ocr
- Language: Go
- Homepage: https://pkg.go.dev/github.com/otiai10/gosseract
- Size: 1.09 MB
- Stars: 3,138
- Watchers: 50
- Forks: 306
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- go-awesome-with-star-updatetime - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Advanced Console UIs)
- awesome-pdf - gosseract
- awesome-go-extra - gosseract - 10-11T07:27:53Z|2022-08-22T03:05:18Z| (Machine Learning / Advanced Console UIs)
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library - ★ 657 (Machine Learning)
- awesome-go-plus - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.  (Machine Learning / Search and Analytic Databases)
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Search and Analytic Databases)
- awesome-go - otiai10/gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library (Other / General Purpose Libraries)
- fucking-awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Search and Analytic Databases)
- awesome-go - otiai10/gosseract
- awesome-ocr - gosseract - Golang OCR library, wrapping Tesseract-ocr. (Software / OCR libraries by programming language)
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Search and Analytic Databases)
- awesome-golang-repositories - gosseract
- awesome-go-cn - gosseract
- awesome-go - gosseract - | - | - | (Machine Learning / Advanced Console UIs)
- awesome-go-processed - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.| (Machine Learning / Advanced Console UIs)
- awesome-go-with-stars - gosseract - 01-16 | (Machine Learning / Search and Analytic Databases)
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (<span id="机器学习-machine-learning">机器学习 Machine Learning</span> / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go-info - gosseract
- awesome-go-zh - gosseract
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Search and Analytic Databases)
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. - :arrow_down:13 - :star:196 (Machine Learning / Advanced Console UIs)
- awesome-go-cn - gosseract
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Search and Analytic Databases)
- zero-alloc-awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Search and Analytic Databases)
- awesome-Char - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Advanced Console UIs)
- awesome-go-cn - gosseract
- awesome-go-cn - gosseract
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Search and Analytic Databases)
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. Stars:`3.0K`. (Machine Learning / Search and Analytic Databases)
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Advanced Console UIs)
- awesome-go - gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. (Machine Learning / Advanced Console UIs)
README
# gosseract OCR
[](https://github.com/otiai10/gosseract/actions/workflows/go-ci.yml)
[](https://github.com/otiai10/gosseract/actions/workflows/runtime-docker.yml)
[](https://github.com/otiai10/gosseract/actions/workflows/runtime-vmactions.yml)
[](https://github.com/otiai10/gosseract/actions/workflows/windows-ci.yml)
[](https://codecov.io/gh/otiai10/gosseract)
[](https://goreportcard.com/report/github.com/otiai10/gosseract)
[](https://github.com/otiai10/gosseract/blob/main/LICENSE)
[](https://pkg.go.dev/github.com/otiai10/gosseract/v2)
Golang OCR package, by using [Tesseract](https://github.com/tesseract-ocr/tesseract) C++ library.
# OCR Server
If you need an [OCR server](https://github.com/otiai10/ocrserver) or want to see a working example of this package, there is a ready-made server application, which is very easy to deploy!
👉 https://github.com/otiai10/ocrserver
# Example
```go
package main
import (
"fmt"
"github.com/otiai10/gosseract/v2"
)
func main() {
client := gosseract.NewClient()
defer client.Close()
client.SetImage("path/to/image.png")
text, _ := client.Text()
fmt.Println(text)
// Hello, World!
}
```
# Installation
## macOS
```bash
brew install tesseract
go get -t github.com/otiai10/gosseract/v2
```
## Linux (Debian/Ubuntu)
```bash
sudo apt-get install -y libtesseract-dev libleptonica-dev tesseract-ocr-eng
go get -t github.com/otiai10/gosseract/v2
```
Please check this [Dockerfile](https://github.com/otiai10/gosseract/blob/main/Dockerfile) to get started.
Alternatively, you can deploy the pre-existing Docker image by invoking `docker run -it --rm otiai10/gosseract`.
## Windows
Windows support requires [vcpkg](https://vcpkg.io/) and [MinGW-w64](https://www.mingw-w64.org/):
```bash
# Install Tesseract via vcpkg
vcpkg install tesseract:x64-windows
# Create MinGW import libraries from vcpkg DLLs
cd C:/vcpkg/installed/x64-windows/bin
gendef tesseract55.dll leptonica-1.87.0.dll
dlltool -d tesseract55.def -l libtesseract.a -D tesseract55.dll
dlltool -d leptonica-1.87.0.def -l libleptonica.a -D leptonica-1.87.0.dll
mv *.a ../lib/
# Download language data
mkdir C:/tessdata
curl -L -o C:/tessdata/eng.traineddata https://github.com/tesseract-ocr/tessdata/raw/main/eng.traineddata
```
Set environment variables before building:
```bash
export CGO_ENABLED=1
export CC=C:/mingw64/bin/gcc.exe
export CGO_CFLAGS="-IC:/vcpkg/installed/x64-windows/include"
export CGO_LDFLAGS="-LC:/vcpkg/installed/x64-windows/lib"
export TESSDATA_PREFIX="C:/tessdata"
export PATH="/c/mingw64/bin:/c/vcpkg/installed/x64-windows/bin:$PATH"
```
For detailed troubleshooting, see [knowledge/windows-support.md](./knowledge/windows-support.md).
# Test
In case you have [tesseract-ocr](https://github.com/tesseract-ocr/tessdoc) installed on your local environment, you can run the tests with:
```
% go test .
```
If you **DON'T** want to install tesseract-ocr on your local environment, run `./test/runtime` which utilises Docker and Vagrant to test the source code on some runtimes.
```
% ./test/runtime --engine docker
% ./test/runtime --engine vagrant
```
Check [./test/runtimes](https://github.com/otiai10/gosseract/tree/main/test/runtimes) for more information about runtime tests.
> **Note**: Clear Linux support was removed in January 2026 as [Intel discontinued the distribution in July 2025](https://www.phoronix.com/news/Intel-Linux-News-2025).
> **Note**: Arch Linux support was removed in January 2026 as the official image does not provide ARM64 architecture support.
# Issues
- [https://github.com/otiai10/gosseract/issues](https://github.com/otiai10/gosseract/issues?utf8=%E2%9C%93&q=is%3Aissue)