Skip to content

PDFCraft is a free, privacy-focused PDF toolkit that runs entirely in your browser. With 80+ professional tools, you can edit, convert, merge, split, and secure your PDF files without ever uploading them to a server.

License

Notifications You must be signed in to change notification settings

PDFCraftTool/pdfcraft

Repository files navigation

PDFCraft

PDFCraft Logo

Professional PDF Tools

Free, Private & Browser-Based

Merge, split, compress, convert, and edit PDF files online without uploading to servers.

Website Next.js React TypeScript Tailwind CSS

📖 About

PDFCraft is a comprehensive suite of PDF tools designed for privacy and performance. Unlike many online converters, PDFCraft processes your files entirely within your browser using WebAssembly technology. Your documents never leave your device, ensuring maximum security for your sensitive data.

This project is built with modern web technologies to provide a slick, app-like experience directly in the browser.

✨ Key Features

  • 🔒 100% Private: All processing happens client-side. No file uploads to external servers.
  • 🚀 Fast & Responsive: Powered by Next.js and WebAssembly for near-native performance.
  • 🛠️ Comprehensive Toolset: Over 80+ tools to handle any PDF task.
  • 🎨 Modern UI: Clean, accessible, and responsive design built with Tailwind CSS.
  • 🌐 Multi-language: Supports English, Spanish, French, German, Portuguese, Japanese, Korean, and Chinese.

🧰 Complete Tool List (80+ Tools)

📁 Organize & Manage (24 tools)

Tool Description
PDF Multi Tool All-in-one PDF editor for merge, split, organize, delete, rotate, and extract
Merge PDF Combine multiple PDFs into one document
Split PDF Separate specific pages or divide by page ranges
Extract Pages Extract specific pages to a new file
Organize PDF Reorder, duplicate, and delete pages with drag-and-drop
Delete Pages Remove unwanted pages from PDF files
Rotate PDF Rotate pages by 90°, 180°, or 270°
Rotate by Custom Degrees Rotate pages by any angle for straightening scans
Reverse Pages Reverse the page order of a PDF
Add Blank Page Insert blank pages at any position
Divide Pages Split pages horizontally or vertically
N-up PDF Combine multiple pages on a single sheet (2-up, 4-up, etc.)
Combine to Single Page Stitch all pages into one continuous page
Alternate Merge Interleave pages from multiple PDFs
OCR PDF Make scanned PDFs searchable with text recognition
Add Attachments Embed files into PDF documents
Extract Attachments Download embedded files from PDFs
Edit Attachments View, rename, or remove embedded files
View Metadata View PDF properties, author, dates, and keywords
Edit Metadata Modify PDF title, author, subject, and keywords
PDF to ZIP Package multiple PDFs into a ZIP archive
Compare PDFs Compare two PDFs side-by-side with difference highlighting
Posterize PDF Split large pages into multiple printable sheets
Grid Combine Combine multiple PDFs into a grid layout with custom spacing

✏️ Edit & Annotate (16 tools)

Tool Description
Edit PDF Add text, images, annotations, highlights, and shapes
Sign PDF Draw, type, or upload electronic signatures
Crop PDF Trim margins and remove unwanted areas
Edit Bookmarks Add, edit, and manage PDF navigation bookmarks
Table of Contents Generate clickable table of contents from bookmarks
Page Numbers Add customizable page numbering
Add Watermark Apply text or image watermarks
Header & Footer Add headers and footers with page numbers and dates
Invert Colors Create dark mode versions of documents
Background Color Change or add page background colors
Change Text Color Modify the color of all text content
Add Stamps Apply preset or custom stamps (Approved, Rejected, etc.)
Remove Annotations Strip comments, highlights, and markup
Form Filler Complete interactive PDF forms
Form Creator Add text fields, checkboxes, and dropdowns to create forms
Remove Blank Pages Auto-detect and remove empty pages

📤 Convert to PDF (18 tools)

Tool Description
Image to PDF Convert any image format to PDF
JPG to PDF Convert JPEG images to PDF
PNG to PDF Convert PNG images with transparency support
WebP to PDF Convert modern WebP images to PDF
SVG to PDF Convert vector graphics to PDF
BMP to PDF Convert bitmap images to PDF
HEIC to PDF Convert iPhone/iPad photos to PDF
TIFF to PDF Convert multi-page TIFF to PDF
TXT to PDF Convert plain text files to PDF
JSON to PDF Convert JSON data with syntax highlighting
PSD to PDF Convert Photoshop files to PDF
Word to PDF Convert Microsoft Word documents to PDF
Excel to PDF Convert Excel spreadsheets to PDF
PowerPoint to PDF Convert PowerPoint presentations to PDF
XPS to PDF Convert XPS documents to PDF
RTF to PDF Convert Rich Text Format files to PDF
EPUB to PDF Convert EPUB ebooks to PDF
MOBI to PDF Convert MOBI ebooks to PDF

📥 Convert from PDF (11 tools)

Tool Description
PDF to JPG Extract pages as JPEG images
PDF to PNG Export pages as PNG with transparency
PDF to WebP Convert to modern WebP format
PDF to BMP Export as bitmap images
PDF to TIFF Convert to high-quality TIFF
PDF to Greyscale Convert colorful PDFs to black and white
PDF to JSON Extract text and metadata as JSON
PDF to DOCX Convert PDF to editable Word document
PDF to PowerPoint Convert PDF to editable slides
PDF to Excel Extract tables to spreadsheet format
Extract Images Extract all images embedded in a PDF file

⚡ Optimize & Repair (6 tools)

Tool Description
Compress PDF Reduce file size while maintaining quality
Fix Page Size Standardize page dimensions
Page Dimensions Analyze and view page sizes
Linearize PDF Optimize for fast web viewing
Repair PDF Fix corrupted or damaged PDF files
Remove Restrictions Remove editing/printing restrictions

🔒 Secure PDF (6 tools)

Tool Description
Encrypt PDF Add password protection and encryption
Decrypt PDF Remove password from PDFs
Sanitize PDF Remove metadata, scripts, and hidden data
Flatten PDF Merge annotations and form fields into content
Remove Metadata Strip author, dates, and other metadata
Change Permissions Set print, copy, and edit permissions

💻 Tech Stack

🚀 Getting Started

To run this project locally, follow these steps:

Prerequisites

  • Node.js 18.17 or later
  • npm, yarn, or pnpm

Installation

  1. Clone the repository

    git clone https://github.com/PDFCraftTool/pdfcraft.git
    cd pdfcraft
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Start the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  4. Open your browser Navigate to http://localhost:3000 to see the application running.

Docker Compose

If you prefer running PDFCraft in containers, you can use the provided docker-compose.yml.

Development (Next.js dev server)

docker compose --profile dev up

Open http://localhost:3000.

Static export + Nginx (production-like)

This runs next build to generate the static export (out/), then serves it via Nginx using nginx.conf.

docker compose --profile prod up --build

Open http://localhost:8080.

To stop and remove containers:

docker compose down

📜 Scripts

  • npm run dev: Starts the development server with Turbopack.
  • npm run build: Builds the application for production.
  • npm run start: Starts the production server.
  • npm run lint: Lints the code using ESLint.
  • npm run test: Runs tests using Vitest.

🚀 Production Deployment Guide

PDFCraft is configured for static export (output: 'export'), which means it can be deployed to any service that supports static website hosting without requiring a Node.js server.

1. Build Project

Before deploying, build the project to generate static files using the following command:

npm run build

After the build is complete, all static files will be located in the out directory.

2. Deployment Options

You can deploy the contents of the out directory to any of the following platforms:

A. Vercel (Recommended)

  1. Install Vercel CLI: npm i -g vercel
  2. Run the vercel command.
  3. Follow the prompts to set the build command to npm run build and the output directory to out.
  4. Alternatively, connect directly to your GitHub repository, and Vercel will automatically detect Next.js and configure it.

B. Nginx / Apache

Copy the contents of the out directory to the root directory of your web server.

Nginx Configuration Example:

server {
    listen 80;
    server_name example.com;
    root /path/to/your/pdfcraft/out;
    index index.html;

    # Handle static files
    location / {
        try_files $uri $uri.html $uri/ =404;
    }

    # Enable gzip compression
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}

C. GitHub Pages

  1. Push the out directory to the gh-pages branch of your repository.
  2. Enable GitHub Pages in your repository settings.
  3. Note: If you are not using a custom domain, you might need to modify basePath in next.config.js.

D. Netlify

  1. Connect your repository to Netlify.
  2. Set build command: npm run build
  3. Set publish directory: out

3. Important Notes

  • Headers Configuration: The headers configuration in next.config.js does not automatically take effect in static export mode. You need to configure HTTP headers separately depending on your hosting platform (e.g., vercel.json for Vercel or Nginx configuration).
  • Image Optimization: Since static export does not support Next.js's default image optimization server, the project is configured with images: { unoptimized: true }.

4. Verify Deployment

After deployment, please check the following features to ensure everything is working correctly:

  • Multi-language routing (e.g., /en, /zh)
  • Tool page loading
  • WebAssembly (PDF processing) functionality

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❤️ by the PDFCraft Team

About

PDFCraft is a free, privacy-focused PDF toolkit that runs entirely in your browser. With 80+ professional tools, you can edit, convert, merge, split, and secure your PDF files without ever uploading them to a server.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published