NormCap
OCR powered screen-capture tool to capture information instead of images. For Linux, macOS and Windows.
Links: Source Code | Documentation | FAQs | Releases | Changelog
Installation
Choose one of the options for a prebuilt release. If you encounter an issue please take a look at the FAQs or report it.
Windows
- NormCap-0.6.0-x86_64-Windows.msi (Installer)
- NormCap-0.6.0-x86_64-Windows.zip (Portable)
Linux
It's recommended to install NormCap from Flathub:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.github.dynobo.normcap
Alternative options:
- NormCap-0.6.0-x86_64.AppImage - ⚠️ deprecated (Requires fuse)
normcap@ AUR (Arch/Manjaro)
macOS
Note: You must allow the unsigned application on first start: "System Preferences" → "Security & Privacy" → "General" → "Open anyway". You also need to allow NormCap to take screenshots. (#135)
- NormCap-0.6.0-x86_64-macOS.dmg (Installer for x86/64)
- NormCap-0.6.0-arm64-macOS.dmg (Installer for M1)
Use Python package
As an alternative to the prebuilt packages above, you can install the NormCap Python package for Python >=3.9, but it requires more setup:
On Linux
# Install dependencies (Ubuntu/Debian)
sudo apt install build-essential tesseract-ocr tesseract-ocr-eng libtesseract-dev libleptonica-dev wl-clipboard
## Install dependencies (Arch)
sudo pacman -S tesseract tesseract-data-eng wl-clipboard
## Install dependencies (Fedora)
sudo dnf install tesseract wl-clipboard
## Install dependencies (openSUSE)
sudo zypper install python3-devel tesseract-ocr tesseract-ocr-devel wl-clipboard
# Install normcap
pip install normcap
# Run
./normcap
On macOS
# Install dependencies
brew install tesseract tesseract-lang
# Install normcap
pip install normcap
# Run
./normcap
On Windows
1. Install Tesseract 5 by using the
installer provided by UB Mannheim.
2. Identify the path to the Tesseract base folder. It should contain a /tessdata subfolder
and the tesseract.exe binary. Depending on whether you installed Tesseract system-wide or
in userspace, the base folder should be:
C:\Program Files\Tesseract-OCR
or
C:\Users\<USERNAME>\AppData\Local\Programs\Tesseract-OCR
3. Adjust environment variables:
-
Create an environment variable
TESSDATA_PREFIXand set it to your Tesseract base folder, e.g.: "System Properties" → Tab "Advanced" → "Environment Variables …" → "New …" → Variable:TESSDATA_PREFIX, Value:"C:\Program Files\Tesseract-OCR" -
Append Tesseract's base folder to the environment variable
PATH, e.g.: "System Properties" → Tab "Advanced" → "Environment Variables …" → Section "User variables" → SelectPATH→ "Edit …" → Add a new entry"C:\Program Files\Tesseract-OCR" -
To test your setup, open a new
cmd-terminal and run:tesseract --list-langs
4. Install and run NormCap:
# Install normcap
pip install normcap
# Run
normcap
Development
Prerequisites for setting up a development environment: Python >=3.9, uv, and Tesseract >=5.0 (including language data).
# Clone repository
git clone https://github.com/dynobo/normcap.git
# Change into project directory
cd normcap
# Create virtual env and install dependencies
uv sync
# Register pre-commit hook
uv run pre-commit install
# Run NormCap in virtual env
uv run python -m normcap
Contribute to UI translations
Please use Weblate to complement or correct text for existing languages as well as for adding new languages.
(If you prefer not to use Weblate, you can also do it manually, but be aware that this is more cumbersome.)
Credits
This project uses the following non-standard libraries:
- pyside6 - bindings for Qt UI Framework
And it depends on external software:
- tesseract - OCR engine
- zxing-cpp - QR & barcode detection
- wl-clipboard - Wayland clipboard utilities
- xclip - CLI to the X11 clipboard
Packaging is done with:
- briefcase - converting Python projects into standalone apps
Thanks to the maintainers of those nice tools!
Similar open source tools
If NormCap doesn't fit your needs, try these alternatives (no particular order):
- TextSnatcher (Linux)
- GreenShot (Windows, macOS)
- TextShot (Windows)
- gImageReader (Linux, Windows)
- Capture2Text (Windows)
- Frog (Linux)
- Textinator (macOS)
- Text-Grab (Windows)
- dpScreenOCR (Linux, Windows)
- PowerToys Text Extractor (Windows)
Why "NormCap"?
See XKCD:
Certification
Contributors
Made with contrib.rocks
Release files for normcap 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| normcap-0.6.0.tar.gz | 5.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| normcap-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.7 MB
Release files / normcap-0.6.0.tar.gz
| Download URL | normcap-0.6.0.tar.gz |
|---|---|
| Size | 5.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
851dd22f0430b06255777bbd1232861a03bd85abfae3708f92124a8a5ad2cf9f
|
|
BLAKE2b-256 checksum How to use checksums |
ce74eee5d3ec97f8d46fa7c48ac303aeca006ba2cebd95d0a01e45f62beeec41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 31, 2025.
Transparency logRelease files / normcap-0.6.0-py3-none-any.whl
| Download URL | normcap-0.6.0-py3-none-any.whl |
|---|---|
| Size | 3.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6c3e82b538dab1554bb4c8a92d92177b90b828e303eb94dab5f0ff6bd47160b3
|
|
BLAKE2b-256 checksum How to use checksums |
858ec14eac02ed01a07100d29997e4187024bbb6b95d3c2201d15839881b798d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 31, 2025.
Transparency log