Lipika (ΰ€²ΰ€Ώΰ€ͺΰ€Ώΰ€ΰ€Ύ) is a lightweight, browser-based PDF editor built with React and powered by pdf-lib. It allows users to upload, annotate, highlight, sign, and save PDF files without any server involvement. The name Lipika means "scribe" or "writer" in Sanskrit.
- π₯ Upload and view any PDF
- βοΈ Add highlights to text
- βοΈ Insert signature placeholders
- π¨ Draw lines and shapes
- β©οΈ Undo last action
- πΎ Save the edited PDF locally
- π§ In-memory editing using
pdf-lib
- π No data leaves your device (privacy-first)
Upload a PDF, edit it in-browser, and download the modified version instantly!
- Frontend: React
- PDF Engine: pdf-lib
- Styling: CSS (Tailwind optional in future roadmap)
git clone https://github.com/chandanrattan/lipika.git
cd lipika
npm install
npm start
Visit http://localhost:3000
to start using the app locally.
lipika/
βββ .github/
β βββ workflows/
β βββ node.js.yml # GitHub Actions CI setup
βββ public/ # Static files
βββ src/ # React components & logic
β βββ App.js # Main app component
β βββ App.css # Basic styling
βββ .gitignore
βββ package.json
βββ README.md
βββ LICENSE # Apache License 2.0
- Text box annotations
- Signature image upload
- Drawing canvas with eraser
- Multi-page PDF editing
- Export to images (PNG/JPG)
- Dark mode support
This project is licensed under the Apache License 2.0. Please read LICENSE for details.
Modifications and redistributions are allowed with attribution. For any commercial or extended use, kindly contact the maintainer.
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
- Project Lead: Chandan Bhardwaj
- Issues & Feedback: GitHub Issues
Lipika β Write. Highlight. Sign. All in your browser.