π A truly free PDF editor with AI features. No watermarks. No limits. No catch.
PDFree is the honest alternative to "free" PDF tools that hit you with watermarks, task caps, paywalls, or silent uploads. It runs everywhere β macOS, iOS, Web, Windows, Linux β from one Rust engine, and processes your documents locally by default.
Status: Phase 0 complete. The Rust workspace is scaffolded and the PDFium integration is proven end-to-end (open a PDF, render pages to PNG). See
CLAUDE.mdfor the full plan.
One Rust core (pdfree-core), many thin platform shells. Rendering goes through
PDFium β the engine Chrome uses. See
docs/architecture.md.
crates/pdfree-core PDF engine (parse, render, edit, forms, sign, convert)
crates/pdfree-ai provider-agnostic AI layer (local-first, cloud-opt-in)
crates/pdfree-ffi UniFFI bridge β Swift/Kotlin
crates/pdfree-wasm wasm-bindgen bridge β browser
# 1. Fetch the PDFium runtime library (into vendor/pdfium/, git-ignored)
scripts/fetch-pdfium.sh
# 2. Build and test the whole workspace
scripts/build-all.sh
# or: cargo test --workspaceMinimal usage:
use pdfree_core::{Document, RenderOptions};
let doc = Document::open("contract.pdf")?;
println!("{} pages", doc.page_count());
let png = doc.render_page(0, &RenderOptions::with_dpi(150.0))?;
std::fs::write("page-1.png", png)?;See docs/api.md for the full pdfree-core API.
CLAUDE.mdβ project plan, phases, and decisionsdocs/architecture.mdβ engine + shells designdocs/ai-design.mdβ local-first AI plandocs/api.mdβpdfree-coreAPI referencedocs/pdfium-bundling.mdβ PDFium per-platform strategy
BUSL-1.1 β free for personal and commercial non-SaaS use.