File Converter is a high-performance, professional-grade web application designed for seamless PDF manipulation. Inspired by industry standards like iLovePDF, it provides a clean, "utility-first" UI/UX for merging, splitting, compressing, and converting PDF files with ease.
- Merge PDF: Combine multiple PDF files into one in any order you choose.
- Split PDF: Separate PDF pages into individual documents, delivered in a ZIP file.
- Compress PDF: Optimize file size while maintaining maximum visual quality.
- Edit PDF: Quickly add text overlays and annotations to your documents.
- Unlock PDF: Remove common security restrictions and owner passwords.
- PDF to Word: Extract text from PDF documents into editable
.docxfiles. - PDF to JPG: Convert each PDF page into a high-quality JPEG image.
- JPG to PDF: Combine multiple JPG/PNG images into a single professional PDF.
- Dark Mode: Toggle between light and dark themes for a comfortable experience.
- Live Thumbnails: Real-time visual previews of uploaded PDFs using
pdf.js. - Drag-and-Drop: Intuitive file management with drag-to-reorder functionality.
- Real-time Progress: Visual feedback for file uploads and processing status.
- Immediate Cleanup: A "Delete from server now" option for privacy-conscious users.
Follow these instructions to get a copy of the project up and running on your local machine.
-
Clone the repository
git clone https://github.com/NishantJLU/File-Converter.git cd File-Converter -
Setup the Backend
cd backend npm install # Create a .env file and add: PORT=5000 npm run dev
-
Setup the Frontend Open a new terminal window:
cd frontend npm install npm run dev -
Open your browser Navigate to http://localhost:3000 to start using the platform.
| Component | Technology |
|---|---|
| Frontend | Next.js (App Router), Tailwind CSS, Framer Motion |
| Backend | Node.js, Express.js, Multer |
| PDF Processing | pdf-lib, pdf-parse, pdf-to-img |
| Interactivity | react-dropzone, @dnd-kit (Drag & Drop) |
| Visuals | lucide-react (Icons), pdfjs-dist (Thumbnails) |
We take your document privacy seriously:
- Files are stored in a temporary directory during processing.
- Temporary files are automatically deleted after a short period.
- Users can manually trigger immediate file deletion from the server after conversion.
- No files are permanently stored on our servers.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Developed with ❤️ by NishantJLU