iLovePDF

ilovepdf.comcontributed by Samuele Ongaro

YES

Replaceable in one session with an AI coding agent.

A set of PDF tools in a browser: merge, split, compress, convert, sign and rotate, with an API and desktop apps on the paid tier.

Promptfree, for everyone, and the only version there is
Build me the PDF toolbox I actually need instead of iLovePDF: merge, split, compress, convert, rotate and sign, on my own machine, without documents leaving it.

STACK
- Node 20+ with Fastify, server-rendered HTML
- SQLite through better-sqlite3 for jobs and history
- The real work done by existing tools, each in its own container: qpdf, Ghostscript, LibreOffice, ImageMagick, tesseract for OCR
- Caddy in front

WHY THIS IS WORTH BUILDING
- Documents sent to a public converter are documents on somebody else's server. Contracts, payslips, identity documents and medical letters go through these sites every day
- Running it yourself means the file never leaves the building. That is the whole reason, and it should be written at the top of the README

THE DATA MODEL
- jobs: id, token, tool, status, options_json, created_at, finished_at, error, expires_at
- files: id, job_id, kind, original_name, stored_path, sha256, mime_detected, bytes, pages, deleted_at
- tool_runs: id, job_id, engine, argv_json, exit_code, ms, log_excerpt
- Files expire, by default within the hour, and the sweeper deletes them from disk as well as from the table. Deletion is real and the row records that it happened

THE TOOLS
- Merge, with a page ordering interface and the ability to drop pages
- Split by page range, by every N pages, by bookmark, or by a detected blank separator page
- Rotate, reorder, delete and extract pages
- Compress with a choice between a smaller file and a readable one, and a preview of both the size and a sample page. Compression on a badly made PDF is where these tools differ most — try downsampling images and re-encoding, and if the result is larger than the original, keep the original and say so
- Convert to and from office formats through LibreOffice, and to and from images
- OCR with tesseract, adding a text layer without altering the visible page, with the language chosen
- Unlock a password-protected PDF where the password is known, and add a password with permissions
- Sign: place an image or a drawn signature, flatten it, and optionally apply a document-level digital signature so later changes are detectable
- Repair a damaged file with qpdf, which fixes a surprising proportion of them
- Extract text, extract images, and fill a form

SANDBOXING, WHICH IS NOT OPTIONAL
- Every engine runs in a container with no network, a read-only root filesystem, a tmpfs for work, a memory cap, a CPU quota, a wall-clock timeout and dropped capabilities
- Non-root inside, with the input mounted read-only and only the output directory writable
- Ghostscript, ImageMagick and LibreOffice have each been remote code execution within recent memory. A PDF is a program, and you are running strangers' programs. The isolation is the requirement, not a precaution
- The type comes from the file's own content, never the extension
- Page count, file size and expansion checked before work starts, so a crafted file cannot exhaust the machine

THE INTERFACE
- One page per tool, each doing one thing, with a drop area and a download
- Progress for the slow ones, and an honest absence of progress where the engine gives none
- A page preview rendered server-side so the ordering interfaces show the actual pages
- Everything works from a phone, because half of these jobs start with a photograph of a document
- Dark and light

THE API
- The same tools over HTTP with a token, for scripting
- Upload, run, download, with the job's expiry stated in the response
- Idempotency keys so a retry does not run the job twice

BATCH
- Several files through the same tool in one job, with a zip of the results
- A queue with a concurrency cap, because this work is CPU-bound and unbounded parallelism takes the box down

PRIVACY
- A stated retention, enforced, with the countdown visible on the download page
- No document content in any log
- If it is exposed beyond your own machine, put it behind authentication — a public PDF tool on your server is a public PDF tool for everybody who finds it
- No third-party request of any kind, which is the difference from the service being replaced

OPERATIONS
- .env: DATABASE_PATH, STORAGE_PATH, BASE_URL, MAX_UPLOAD_BYTES, RETENTION_MINUTES, CONTAINER_RUNTIME
- Migrations on boot, each once
- Disk watchdog that refuses new jobs rather than filling the volume
- Health endpoint that runs one tool on a one-page document
- The database is worth backing up; the files are not, because they expire by design

WHAT MATTERS MOST
The sandbox and real deletion. Build the container runner with its limits before a single tool works, and confirm a file is gone from disk when its job expires. The reason to build this instead of using the free site is that documents stay yours — and that promise is only as good as the sweeper.

Give me the repository, the container definitions, migrations, .env.example, and a README with deploy steps behind Caddy and the security assumptions stated in full.

What you lose

  • A page anyone can use without installing anything, which is why colleagues send documents there
  • Reliable compression across badly made PDFs
  • A hosted service with no server on your side

If you would rather not build

  • The print dialog, which merges and splits for free

What it costs

read from their page 18 Aug 2026

PlanBilled monthlyBilled yearlyLast read
—$5/mo—18 Aug 2026

Their pricing page is where these came from. Seeing a different price? Tell us.

The escape hatch

open source · no votes, no paid placement

Stirling-PDF

$0

A complete self-hosted PDF toolkit with a web interface and an API.

Stirling-Tools/Stirling-PDFfree · open source

qpdf

$0

Command-line PDF transformation, ideal for scripted pipelines.

qpdf/qpdffree · open source

Why this verdict

our own opinion · changed only by a person

90/100

Verdict yes at 90. One container replaces the whole category, and it stops staff uploading contracts to a free website, which is the real win.

History

tracked since 10 Aug 2026 · nothing is ever overwritten

Interest · last 30 dayspeak 1/day
views0130 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

Questions about iLovePDF

answered from the record above

Is iLovePDF free?

No — the plan we track is $5 a month. Premium at $5/month billed annually; the free tier covers occasional use with limits per task.

Can you replace iLovePDF by building your own?

YES. Replaceable in one session with an AI coding agent. Replacement score 90 out of 100, build time one session. Read what you lose before you decide.

How much does iLovePDF cost?

$5 a month on Premium — $60 a year. Recorded 18 Aug 2026.

What do you lose by replacing iLovePDF?

A page anyone can use without installing anything, which is why colleagues send documents there; Reliable compression across badly made PDFs; A hosted service with no server on your side. If any of those carry weight for you, keep paying.

Is there an open-source alternative to iLovePDF?

Yes: Stirling-PDF, qpdf. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 56 in Dev tools

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc