Free forever · No account · Files auto-deleted after 1 hr

Your PDFs,
handled right.

Merge, split, compress and convert PDFs in seconds. Powered by n8n automation running on your own Hetzner server — your files never leave your control.

Merge PDF
Split PDF
Compress PDF
PDF → Word / Image
🔒 Files stay on your server
⚡ n8n automation pipeline
🗑️ Auto-deleted after 1 hour
🆓 Always free, no limits
📊 Every job logged to Sheets
The toolkit

Four tools.
Zero friction.

Click any tool to start immediately — no signup, no waiting, no nonsense.

📎
Merge PDF
Combine multiple PDFs into one document. Upload any number of files, merge in seconds.
Most Popular
✂️
Split PDF
Divide into individual pages or extract specific page ranges. Download as a neat ZIP.
Extract pages
🗜️
Compress PDF
Shrink file size without losing readability. Choose screen, ebook or print quality.
Up to 90% smaller
🔄
PDF → Word / Image
Export to editable .docx or high-res JPG and PNG images at your chosen DPI.
docx · jpg · png
Under the hood

Automated end
to end.

Every upload triggers a complete n8n pipeline — nothing manual, nothing missed.

1
You upload a PDF
Drag-and-drop or browse. Your file goes directly to your Node.js server on Hetzner — never a third-party cloud.
2
Server forwards to n8n
Express POSTs the file and job parameters to your n8n webhook running on the same VPS.
3
n8n runs the CLI tool
A Switch node routes to ghostscript, pdftk, poppler, or libreoffice depending on what you chose.
4
Result saved to Hetzner storage
Output uploaded to your S3-compatible Object Storage bucket. A signed download URL is created.
5
Download link delivered
URL sent to the browser instantly. Job logged to Google Sheets. Temp files deleted after 1 hour.
n8n Workflow — Active
Hetzner VPS · always-on
🌐
Webhook Trigger
POST /webhook/pdf-process
🔀
Switch Router
merge · split · compress · convert
⚙️
Execute Command
ghostscript · pdftk · poppler · libreoffice
☁️
S3 Upload
Hetzner Object Storage
📊
Google Sheets Log
Timestamp · tool · filename · URL
// Response to browser
{
  "success":      true,
  "download_url": "https://…",
  "ext":          "pdf",
  "job_id":       "job_a1b2c3"
}
Why PDFForge

Built for ownership.

Unlike ilovepdf or pi7, your files never touch someone else's server. You own everything.

🔒
Your server only
Runs entirely on your Hetzner VPS. Zero reliance on any external service.
n8n automation
Every upload triggers a full workflow — process, store, log, clean up automatically.
📊
Activity logging
Every job appended to Google Sheets in real time. Complete audit trail, always.
🗑️
Auto cleanup
Temp files deleted from the VPS after 1 hour via the n8n Wait node. Nothing lingers.
🆓
Always free
No paywalls, no file size limits, no account required. Upload and go.
🛠️
CLI-powered
Ghostscript, pdftk, poppler — battle-tested Unix tools run every operation reliably.
server.js — port 3000
00.00READYPDFForge on port 3000
00.01CONFIGn8n → https://n8n.yourdomain.com/webhook/pdf-process
00.01NGINXReverse proxy active on 443
00.02N8NWorkflow active — webhook listening
00.02S3Bucket pdfforge-files connected