HandScript is an intelligent handwriting recognition system that transforms handwritten documents into editable digital text, learning and adapting to your unique handwriting style.
- Organize documents into projects for easy management
- Drag-and-drop multiple page upload
- Intuitive page reordering
- Export to PDF or Word formats
- Built-in document preview
- Individual writer profiles with custom recognition models
- Continuous learning from your handwriting
- Support for English and German text
- Performance tracking and analytics
- Visual recognition insights
- Simple training process with your handwriting samples
- Real-time feedback on recognition quality
- Visual line detection and segmentation
- Easy verification workflow
- Progress tracking and model improvement
- Drag-and-drop reordering of pages
- Visual thumbnail previews
- Quick page status overview
- Batch processing options
- Writer assignment per page
- Side-by-side comparison view
- Line-by-line verification
- Rich text formatting options
- Batch processing capabilities
- Visual text line highlighting
- Clean, formatted text preview
- One-click export to PDF or DOCX
- Page navigation
- Print-ready formatting
- Document statistics overview
- NVIDIA GPU with 8GB+ VRAM
- 16GB RAM
- 15GB free storage space
- Docker and Docker Compose
- NVIDIA drivers for GPU support
- Modern web browser (Chrome/Firefox/Safari recommended)
- Clone the repository:
git clone https://github.com/TobiFank/HandScript.git
- Create environment file:
cat > .env << EOL
DEVICE=cuda
DEFAULT_MODEL_ENGLISH=microsoft/trocr-large-handwritten
DEFAULT_MODEL_GERMAN=fhswf/TrOCR_german_handwritten
EOL
- Start the application: First time setup:
docker-compose up --build
Subsequent runs:
docker-compose up
- Open your browser and navigate to:
http://localhost:3000
- Click "New Project" on the dashboard
- Enter project name and optional description
- Upload documents to your project
- Organize pages within documents
- Navigate to Writers section
- Click "Add Writer" to create a new profile
- Select language (English/German)
- Add training samples to improve recognition
- Upload handwriting samples
- Verify recognized text
- Monitor training progress
- Track accuracy improvements
- Export processed documents
- Upload document pages
- Assign writer profile
- Process pages automatically
- Review and edit recognized text
- Export final document
- β¨ Researchers digitizing handwritten notes
- π Teachers processing student submissions
- π Professionals managing handwritten documents
- ποΈ Archivists converting historical documents
- π Anyone needing to digitize handwritten text
If you find HandScript useful and want to help me keep developing innovative, open-source tools, consider supporting me by buying me a token. Your support helps cover development costs and allows me to create more projects like this!
Or, scan the QR code below to contribute:
Thank you for your support! It truly makes a difference.
handscript/
βββ backend/ # FastAPI backend application
βββ frontend/ # React frontend application
βββ docker/ # Docker configuration files
βββ storage/ # Data storage directory
β βββ images/ # Uploaded document images
β βββ models/ # Trained writer models
β βββ exports/ # Exported documents
βββ docs/ # Documentation and images
cd backend
poetry install
poetry run python run.py
cd frontend
yarn install
yarn dev
This project is licensed under a Custom Non-Commercial, Contribution-Based License.
- Private, non-commercial use of this tool is permitted.
- Modifications or enhancements must be contributed to this project (e.g., through pull requests) to be approved by the project maintainer.
- Commercial use and creating derivative works for redistribution outside of this project are prohibited.
- Contact for Commercial Use: Companies or individuals interested in commercial use should contact Tobias Fankhauser on LinkedIn for case-by-case consideration.
For full details, please refer to the LICENSE file.
- fhswf/TrOCR_german_handwritten is licensed under the Academic Free License 3.0. See link.
- microsoft/trocr-large-handwritten is licensed under the MIT License. See link.
For more details, refer to the included license files and documentation.
- Microsoft's TrOCR model for base recognition capabilities
- FHSWF's TrOCR German model for additional language support
- Hugging Face Transformers library
- FastAPI and React for the application framework
- The open source community for various supporting libraries
We welcome contributions that enhance the tool! Please submit a pull request for any proposed changes or additions. All contributions must comply with the Custom Non-Commercial, Contribution-Based License outlined in the LICENSE file.
By contributing, you agree to the terms outlined in the CLA. This agreement ensures that all contributions can be used in any future version of the project, including potential commercial versions. Please read the CLA before submitting your pull request.