PDF Reorder & Rotate
Rearrange, rotate, and delete pages of a PDF with drag-drop thumbnails.
🔒 PDFs are processed locally in your browser — never uploaded.
Related Tools
0 comments
How it works
Each page is rendered to a small thumbnail in your browser using PDF.js, while pdf-lib handles the actual page operations. Drag-drop reordering updates an in-memory page-index array; rotate buttons cycle a per-page rotation value (0/90/180/270 degrees); delete removes the page from the list. When you click Apply, a fresh PDFDocument is built with pages copied in your chosen order and rotated as specified.
out = new PDFDocument()
for (id of pageOrder):
[page] = await out.copyPages(src, [originalIndex])
page.setRotation(degrees(rotation))
out.addPage(page)
Common use cases
- Fixing a scanned document where some pages were fed upside down.
- Reorganizing slides for a presentation handout.
- Removing blank or duplicate pages before sending a document for signature.
Frequently asked questions
Why is there a 500-page limit?
Rendering thumbnails for every page costs both memory and time. 500 pages keeps the UI responsive on a typical laptop. For larger reorder jobs, split the PDF into sections first using the PDF Splitter.
Can I undo a delete?
Not within the current session — once deleted, a page is removed from the working list. You can re-upload the original PDF to start over.
Does rotation apply to the rendered thumbnail or the saved PDF?
Both. The thumbnail visually rotates so you can preview the result, and the same rotation is baked into the saved PDF via pdf-lib's setRotation.
Is the file uploaded?
No. The PDF is read into browser memory only. Thumbnails are generated locally, and the new PDF is saved locally — nothing is sent to a server.