Free browser-based PDF tools for everyday document tasks:
https://liaopengdong.github.io/pdf-tools/
BayMaxHome PDF Tools is a static GitHub Pages website for merging, splitting, organizing, converting, and editing PDF files directly in the browser. The project is designed for simple public use cases where users need quick PDF utilities without installing desktop software.
| Tool | What it does |
|---|---|
| Merge PDF | Combine multiple PDF files into one document. |
| Split PDF | Split a PDF into separate page files. |
| Split Odd and Even PDF | Save odd pages and even pages into separate PDF files. |
| Extract Pages | Save selected pages from a PDF as a new file. |
| Delete Pages | Remove unwanted pages from a PDF. |
| Rotate PDF | Rotate PDF pages by 90, 180, or 270 degrees. |
| Reverse PDF Pages | Reverse the page order of a PDF file. |
| Duplicate Pages | Duplicate selected pages directly after the original pages. |
| Add Blank Page | Append one or more blank pages to a PDF. |
| Tool | What it does |
|---|---|
| PDF to JPG | Convert PDF pages into JPG images and download them as a ZIP file. |
| PDF to PNG | Convert PDF pages into PNG images and download them as a ZIP file. |
| JPG to PDF | Convert JPG or PNG images into a PDF document. |
| PNG to PDF | Convert PNG images into a PDF document. |
| PDF to Text | Extract readable text from a PDF file when text data is available. |
| PDF Page Count | Count pages in a PDF and download a simple report. |
| PDF Page Size | Check page dimensions and download a simple report. |
| PDF Info | Read page count, page sizes, and common metadata fields. |
| Tool | What it does |
|---|---|
| Add Watermark | Add a text watermark to each PDF page. |
| Add Text to PDF | Stamp custom text on each PDF page. |
| Add Header and Footer | Add repeating header and footer text to every page. |
| Add Page Numbers | Add page numbers to PDF pages. |
| Edit PDF Metadata | Update title, author, subject, and keyword metadata. |
| Remove PDF Metadata | Clear common metadata fields from a PDF. |
| Compress PDF | Rewrite a PDF with object streams enabled; size reduction depends on the source file. |
| Flatten PDF | Flatten supported fillable form fields into page content. |
| Optimize PDF | Re-save a PDF with object streams enabled. |
| Repair PDF | Try to re-save a readable PDF to fix minor structure issues. |
The homepage also includes additional browser-side utilities such as flattening PDF forms, rewriting PDF files for basic optimization, and repairing simple PDF structure issues.
Many PDF tasks are small and repetitive: merging receipts, splitting a scanned document, turning PDF pages into images, or adding page numbers before sending a file. This project focuses on lightweight tools that work from a static website and do not require a server-side upload pipeline.
This is a static front-end project. PDF processing is handled in the browser using JavaScript libraries such as PDF.js, pdf-lib, and JSZip. There is no custom backend in this repository for receiving uploaded files.
Users should still avoid processing highly sensitive documents on any public website unless they fully understand the tool and their browser environment.
- Static HTML, CSS, and JavaScript
- GitHub Pages hosting
- PDF.js for PDF rendering and text extraction
- pdf-lib for PDF creation and modification
- JSZip for packaging converted image files
- Local vendor assets instead of external CDN dependencies
.
├── index.html
├── assets/
│ ├── pdf-tools.js
│ ├── styles.css
│ └── vendor/
├── merge-pdf/
├── split-pdf/
├── split-odd-even-pdf/
├── pdf-to-jpg/
├── pdf-to-png/
├── jpg-to-pdf/
├── png-to-pdf/
├── rotate-pdf/
├── watermark-pdf/
├── extract-pages/
├── delete-pages/
├── reverse-pdf/
├── duplicate-pages/
├── add-blank-page/
├── pdf-to-text/
├── pdf-page-count/
├── pdf-page-size/
├── pdf-info/
├── add-text-to-pdf/
├── add-header-footer/
├── add-page-numbers/
├── edit-pdf-metadata/
├── remove-pdf-metadata/
├── compress-pdf/
├── flatten-pdf/
├── optimize-pdf/
├── repair-pdf/
├── organize-pdf/
├── convert-pdf/
├── edit-pdf/
└── blog/
Run a local static server from the repository root:
python -m http.server 8080Then open:
http://127.0.0.1:8080/
If you want to simulate the GitHub Pages project path, serve the parent directory and open the project folder path.
The site includes standalone pages for core tools, category pages, and educational blog articles. The sitemap is configured for:
https://liaopengdong.github.io/pdf-tools/sitemap.xml
Some advanced PDF workflows require a backend service or native software. Features such as OCR, PDF to Word, Word to PDF, PDF to Excel, and high-quality compression are not exposed as core static tools because reliable conversion usually requires server-side processing.
Suggestions and improvements are welcome. Good contribution areas include:
- Better browser compatibility
- More standalone tool pages
- Accessibility improvements
- Clearer help text and examples
- Safer handling of unusual or damaged PDF files
This repository currently does not define a separate open-source license. If you want to reuse the code, check the repository status first or open an issue.