Skip to content
DevToolKit

PDF Workflow Builder

Chain PDF operations — extract, rotate, merge, watermark, page numbers, grayscale, metadata, sanitize, optimize — into one ordered pipeline, run locally.

pdf

Drop your PDF here, or click to browse

Files are processed entirely in your browser — never uploaded

Processed locally
Was this tool helpful?

How to Use

Build and run a multi-step PDF pipeline in five stages:

  1. Upload your PDF -- Drag and drop a PDF file or click the dropzone to browse. The tool reads the file locally, verifies its PDF magic header, and reports the page count. Nothing is uploaded to any server.
  2. Add steps from the palette -- Click any operation in the left-hand palette to append it to the pipeline: extract or remove page ranges, rotate pages, insert a second PDF, add page numbers, stamp a watermark, convert to grayscale, set or scrub metadata, sanitize hidden data, or optimize with qpdf.
  3. Configure and order the steps -- Each step card exposes its own parameters inline: page ranges use the familiar "1-3,5" syntax, watermarks take text, opacity, rotation, and position, and the Insert PDF step accepts a second file plus an insertion point. Reorder steps with the up and down arrows or remove them with the trash button. Order matters -- steps execute strictly top to bottom.
  4. Run the workflow -- Click "Run workflow". Each step shows a live spinner, then a check mark with its duration and a one-line result (for example, "kept 3 of 10 pages" or "rotated 4 pages by 90°"). If a step fails, the chain stops immediately and the report names the failing step.
  5. Download the result -- The summary panel lists every step that ran, the input-to-output size change, and a download button for the finished PDF. Adjust the pipeline and re-run as many times as you need.

Everything runs in your browser tab using pdf-lib for page manipulation and the qpdf engine compiled to WebAssembly for structural optimization. Your document never leaves your device, so the tool is safe for contracts, financial statements, and unpublished manuscripts.

About This Tool

A PDF workflow is an ordered list of operations -- a pipeline -- where each step consumes the output of the step before it. Instead of running five separate tools and re-uploading the file between each one, you declare the whole sequence once and execute it in a single pass. That is the same idea behind Unix pipes, image-processing macros, and build systems: small, composable operations chained into a repeatable recipe.

The pipeline engine treats every step as a pure byte-in, byte-out operation. Step one loads the uploaded PDF and produces new PDF bytes; step two receives exactly those bytes; and so on down the chain. Keeping each step isolated this way makes the steps idempotent -- running the same step twice with the same parameters produces the same output -- and it makes failures easy to localize, because a throwing step can only leave the pipeline at the last good byte state.

Step order is not cosmetic -- it changes the document. Watermark before extracting pages and the stamp lands on pages you later delete; extract first and the watermark only reaches the pages that survive. Page numbers behave the same way: number a document, then merge a second file, and the appended pages arrive unnumbered; merge first, then number, and the whole combined document is renumbered sequentially. Metadata offers the cleanest illustration -- "set" followed by "scrub" erases what you just wrote, while "scrub" then "set" leaves only your new values. The builder therefore shows each step as a movable card, and the up/down ordering is part of the recipe itself.

The ten operations cover the most common PDF chores. Page-range steps keep or drop pages with "1-3,5" syntax. Rotation applies 90, 180, or 270 degrees to all pages or a range. The Insert PDF step copies pages from a second uploaded document at the start, the end, or after a chosen page -- useful for appending cover sheets, appendices, or signature pages. Page numbers support Arabic, Roman, and alphabetic formats with prefix and suffix text. The watermark step stamps configurable text at any of nine positions. The grayscale step rewrites page color operators to DeviceGray, preserving vector text and line art (embedded raster images keep their color). Metadata steps set or erase the Info dictionary and XMP stream. The sanitize step strips JavaScript open-actions, page triggers, and embedded file attachments. Finally, the optimize step runs qpdf to linearize the file for fast web view and compress object streams.

Because the whole pipeline is declarative -- each step is a serializable { id, type, params } object -- a workflow is just a small JSON array. The engine validates every step's parameters before executing, so a malformed or mistyped pipeline fails cleanly instead of corrupting a document. Per-step timing is reported after every run, which makes it easy to spot the one slow operation in a long chain.

Why Use This Tool

Chaining PDF operations pays off whenever a document needs more than one fix before it is ready to share:

  • Preparing documents for publishing -- A common recipe is: scrub metadata and remove embedded files, add a "CONFIDENTIAL" or "DRAFT" watermark, number the pages, then linearize for fast web view. Four separate uploads become one click.
  • Extracting a clean excerpt -- Pull a page range out of a large report, rotate the landscape pages upright, stamp a citation note, and download -- without ever creating intermediate files on disk.
  • Assembling submission packets -- Insert a cover sheet PDF at the start, remove the blank back page, add continuous page numbers, and optimize. Grant applications, tender responses, and court filings frequently need exactly this sequence.
  • Repeatable, auditable processing -- Because the pipeline is explicit and ordered, it doubles as documentation of what was done to the file. The result summary lists every applied step with its outcome, so you can prove a document was sanitized before distribution.
  • Privacy-sensitive batch work -- Every operation runs on-device via WebAssembly and pdf-lib. Medical records, legal discovery files, and financial exports never transit a server -- a hard requirement many upload-based PDF tools cannot meet.

One honest caveat: a pipeline is only as strong as its weakest step. If a stage cannot apply -- say, an extract range that matches no pages -- the chain halts and reports the failure rather than silently producing a half-processed file. That fail-fast behavior is deliberate: it prevents a subtle misconfiguration from corrupting a document you were about to send out.

Related tools: PDF Extract Pages and PDF Delete Pages for single-step page selection. PDF Add Watermark and PDF Add Page Numbers offer richer per-step previews. PDF Sanitize shows a category-by-category scan of hidden data. PDF Linearize explains fast-web-view optimization in depth.

FAQ

Does the order of steps in a PDF workflow matter?
Yes. Each step receives the output of the previous step, so order changes the result. For example, watermarking before extracting pages stamps pages you may later delete; extracting first then watermarking stamps only the pages that survive. Numbering before vs. after a merge also produces different sequences.
What operations can I chain together?
Ten step types: extract or remove page ranges, rotate pages, insert a second PDF at any position, add page numbers, add a text watermark, convert to grayscale, set or scrub metadata, sanitize JavaScript/actions and embedded files, and optimize/linearize with qpdf.
What happens if a step fails mid-workflow?
The chain stops immediately and the report identifies the failing step by position and type — for example 'Step 2 (extract-pages): page range matched no pages'. Steps that already succeeded are shown, and later steps are marked skipped. No partial output file is produced.
Is my PDF uploaded to a server?
No. Every step runs locally in your browser using pdf-lib and the qpdf WebAssembly engine. Your document never leaves your device, making the tool safe for confidential contracts, medical records, and unpublished manuscripts.
Can I save or share a pipeline?
Each step is a serializable { id, type, params } object, so a pipeline is just a JSON array. The engine validates every step before running, which keeps shared or stored pipelines safe to replay.