The Ultimate Secure File Processing Platform for Engineers & Researchers
Built by Sumit Prasad
AnyFileForge is an open-source, privacy-first web application that handles complex file operations entirely in the browser. No file ever leaves your device unless you explicitly choose to save it to the cloud. Whether you're an engineer who needs to format JSON, a researcher compiling LaTeX, or just someone who needs to merge PDFs β AnyFileForge has you covered.
- π Privacy First β All processing happens client-side (in your browser). Your files are never uploaded to our servers unless you explicitly opt-in.
- β‘ Blazing Fast β Powered by WebAssembly (
qpdf-wasm,pdfjs-dist) and modern browser APIs. - π οΈ Specialized Tools β Custom-built utilities for Software Engineers and Academic Researchers, not just generic converters.
- π± Fully Responsive β Works perfectly on Desktop, Tablet, and Mobile.
- π Multilingual β Supports English, Spanish, and Hindi via
i18next. - π¦ Installable PWA β Install AnyFileForge as a native-like app on any device.
- Code Utilities: JSON Formatter & Validator, JS/CSS/HTML Minifier, Regex Tester
- Data Conversion: JSON β CSV, Base64 Encoder/Decoder, Markdown Live Preview
- Visualization: CSV Data Plotter, Interactive charts
- Academic Writing: LaTeX Editor, BibTeX Reference Manager
- Data Analysis: CSV Plotting with instant chart generation
- Format Support: HDF5, Parquet, NetCDF
- PDF Suite (25+ tools): Merge, Split, Compress, Rotate, Watermark, Sign, Protect, Unlock, Compare, Redact, Add Page Numbers, Organize Pages, Repair
- PDF Conversions: PDFβWord, PDFβExcel, PDFβPPT, PDFβJPG, HTMLβPDF, JPGβPDF
- Image Studio: Resize, Crop, Compress, Rotate/Flip, Convert (WebP/JPG/PNG), Watermark, Blur Faces, Remove Background, Meme Generator, Upscale
| Technology | Version | Purpose |
|---|---|---|
| React | ^19.2.0 |
Core UI framework β component-based rendering |
| React DOM | ^19.2.0 |
React renderer for the browser |
| Vite | ^7.3.1 |
Build tool & dev server with HMR |
| React Router DOM | ^7.13.0 |
Client-side routing (SPA navigation) |
| Technology | Version | Purpose |
|---|---|---|
| Vanilla CSS | β | Custom design system with CSS variables, no framework needed |
| Lucide React | ^0.564.0 |
Beautiful, consistent SVG icon set |
| Library | Version | Purpose |
|---|---|---|
| pdf-lib | ^1.17.1 |
Create, merge, split, rotate, watermark, and modify PDFs in the browser |
| pdfjs-dist | ^5.5.207 |
Render PDF pages to canvas (view, extract text, convert to image) |
| qpdf-wasm-esm-embedded | ^1.1.1 |
WebAssembly port of QPDF β password protection & unlocking |
| mammoth | ^1.11.0 |
Convert .docx Word files to HTML/text for PDF generation |
| docx | ^9.6.0 |
Generate .docx Word files from extracted PDF content |
| xlsx | ^0.18.5 |
Read/write Excel .xlsx files β used in PDFβExcel conversion |
| pptxgenjs | ^4.0.1 |
Generate PowerPoint .pptx files from PDF page renders |
| Library | Version | Purpose |
|---|---|---|
| jszip | ^3.10.1 |
Create and read .zip archives (batch download multiple output files) |
| Library | Version | Purpose |
|---|---|---|
| react-dnd | ^16.0.1 |
Drag-and-drop framework for React (PDF page organizer) |
| react-dnd-html5-backend | ^16.0.1 |
HTML5 drag-and-drop backend for react-dnd |
| dnd-core | ^16.0.1 |
Core state management engine for react-dnd |
| Library | Version | Purpose |
|---|---|---|
| i18next | ^25.8.7 |
Internationalization framework |
| react-i18next | ^16.5.4 |
React bindings for i18next (useTranslation hook) |
| i18next-browser-languagedetector | ^8.2.1 |
Auto-detects user's browser language |
| Service | Version | Purpose |
|---|---|---|
| firebase | ^12.9.0 |
Firebase JavaScript SDK |
| Firebase Auth | β | Email/password and Google Sign-In authentication |
| Firebase Firestore | β | NoSQL database for user profiles, projects, feedback |
| Firebase Storage | β | Cloud file storage for user-saved processed files |
| firebase-tools | ^15.6.0 |
CLI tool for deploying to Firebase Hosting |
| Library | Version | Purpose |
|---|---|---|
| vite-plugin-pwa | ^1.2.0 |
Generates PWA manifest and service worker via Workbox |
| workbox-window | ^7.4.0 |
Manages service worker lifecycle & update notifications |
| Tool | Version | Purpose |
|---|---|---|
| @vitejs/plugin-react | ^5.1.4 |
Vite plugin for React β Fast Refresh, JSX transform |
| ESLint | ^9.39.1 |
JavaScript/JSX linter for code quality |
| eslint-plugin-react-hooks | ^7.0.1 |
ESLint rules for correct React Hooks usage |
| eslint-plugin-react-refresh | ^0.4.24 |
ESLint rules for Vite's Fast Refresh compatibility |
| @types/react | ^19.2.7 |
TypeScript type definitions for React |
| globals | ^16.5.0 |
Global variable definitions for ESLint environments |
The backend server handles computationally heavy file operations that would be too slow or memory-intensive in the browser.
| Technology | Version | Purpose |
|---|---|---|
| Node.js | LTS | Server runtime |
| Express | ^4.18.2 |
HTTP server framework for REST API routes |
| Multer | ^1.4.5-lts.1 |
Multipart form data parser β handles file uploads |
| Sharp | ^0.33.0 |
High-performance image processing (resize, compress, convert) |
| pdf-lib | ^1.17.1 |
PDF creation and manipulation on the server |
| Helmet | ^7.1.0 |
Secures HTTP headers against common vulnerabilities |
| express-rate-limit | ^7.1.5 |
Prevents API abuse with per-IP rate limiting |
| cors | ^2.8.5 |
Enables Cross-Origin Resource Sharing for the frontend |
| dotenv | ^16.3.1 |
Loads .env file into process.env |
| nodemon | ^3.0.2 |
(devDep) Auto-restarts server on file changes during development |
git clone https://github.com/yourusername/anyfileforge.git
cd anyfileforge
npm installcp .env.example .envOpen .env and fill in your Firebase credentials (see Firebase Setup below).
npm run devVisit http://localhost:5173 to see the app in action!
cd server
npm install
npm run devThe server runs on http://localhost:3001 by default.
- Create a Firebase project at console.firebase.google.com
- Enable Authentication (Email/Password + Google provider)
- Enable Firestore Database
- Enable Storage
- Copy your Firebase web config to
.env:
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=123456789
VITE_FIREBASE_APP_ID=1:123456789:web:abcdefrules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
match /files/{fileId} {
allow read, write: if request.auth != null;
allow delete: if request.time > resource.data.expiresAt;
}
}
}rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /files/{fileId} {
allow read, write: if request.auth != null;
}
}
}See FILE_STRUCTURE.md for a detailed, annotated breakdown of every folder and file in the project.
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
This project is licensed under the MIT License β see the LICENSE file for details.
β Commercial use Β β Modification Β β Distribution Β β Private use
- Full UI and navigation
- 25+ PDF tools (merge, split, compress, convert, sign, protectβ¦)
- 13+ Image tools (resize, crop, compress, convert, watermarkβ¦)
- Developer tools (JSON, Regex, Base64, Markdown, Minifierβ¦)
- Firebase Authentication (Email + Google)
- Multilingual support (EN / ES / HI)
- PWA β installable as desktop/mobile app
- Drag-and-drop PDF page organizer
- Batch processing with progress tracking
- REST API for programmatic access
- Advanced PDF annotations and form filling
- OCR for scanned documents (Tesseract.js)
- Expanded researcher tools (HDF5, Parquet, NetCDF)
- Extended cloud storage duration
- Priority processing queue
- Team collaboration and file sharing
- Self-hosted deployment guide
- Enterprise SSO
| Library | Use |
|---|---|
| React | UI framework |
| Vite | Build tool & dev server |
| Firebase | Auth, database, storage |
| pdf-lib | Client-side PDF manipulation |
| pdfjs-dist | PDF rendering engine |
| Lucide Icons | Icon set |
| docx | Word document generation |
| pptxgenjs | PowerPoint generation |
| xlsx | Excel file handling |
| sharp | Server-side image processing |
| Field | Details |
|---|---|
| Name | Sumit Prasad |
| Role | Full-Stack Software Engineer |
| GitHub Profile | @Sumit-5002 |
| Project Repository | Sumit-5002/Anyfileforge |
| Report Issues | Anyfileforge/issues |
| sumit-prasad-bce2005 | |
| sumitboy2005@gmail.com |
Built with β€οΈ by Sumit Prasad β for engineers and researchers worldwide
