ZenLens is a high-performance, aesthetically pleasing web application designed to capture, recognize, and translate text from any website or image. Built with Next.js 16 and React 19, it combines browser-native OCR with local AI vision capabilities.
- 🚀 Hybrid OCR Engine:
- Tesseract.js: Fast, browser-side text recognition for standard tasks.
- Aether Vision (Ollama): High-fidelity OCR using local AI models (Llava, Bakllava) for complex layouts.
- 🌍 Instant Translation: seamlessly translate English text to Turkish (and more) using the MyMemory API.
- 📸 Intelligent Capture: Built-in logic to capture specific areas of a website or uploaded images.
- 🎨 Glassmorphic UI: A premium, dark-mode interface with smooth animations powered by Framer Motion.
- ⚡ Local-First: Your data stays on your machine when using the Ollama engine.
- Framework: Next.js 16 (App Router)
- Library: React 19
- Styling: Vanilla CSS with CSS Variables (Glassmorphism)
- Icons: Lucide React
- Animations: Framer Motion
- OCR: Tesseract.js & Ollama API
- Language: TypeScript
- Node.js 18+
- Ollama (required for Aether AI OCR)
- Run the following to prepare the vision model:
ollama run llava
- Run the following to prepare the vision model:
If you want to use external translation/OCR engines without entering keys every time, you can set them in a .env.local file:
OPENROUTER_API_KEY=your_key_here
OCR_API_KEY=your_key_here
NEXT_PUBLIC_OLLAMA_URL=http://localhost:11434See .env.example for details.
-
Clone the repository:
git clone https://github.com/halilogia/ocr-translate-websites.git cd ocr-translate-websites -
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Visit the app: Open http://localhost:3000 in your browser.
- OCR Scanning: Select "OCR Scanner" from the sidebar. Upload an image or use the capture tool to select text.
- AI Vision: Toggle the "Aether" engine to use your local Ollama instance for better accuracy in complex images.
- Translation: Recognized text is automatically synced to the Translator, providing instant Turkish equivalents.
Distributed under the MIT License. See LICENSE for more information.
Developed with ❤️ by Halilogia
