I want to rearrange the pages in a PDF file. But because I have to rearrange many pages, and the new arrangement has a specific pattern, I would like to do so with a script. Is there a simple program which allows to rearrange the pages in a PDF?

Alternatively I could also extract all pages and merge them together in the order I want. What progams are available to do this?


4 Answers 4


pdftk is the one you're searching for. E.g. if you want to reverse the page order of i.pdf, do

pdftk i.pdf cat end-1 output o.pdf

Other examples showing pdftk's potential:

pdftk i.pdf cat 4-1 6 8-end output o.pdf # use ranges
pdftk i.pdf cat 1-6even output o.pdf     # print only even pages in the range
pdftk i.pdf cat 1-10 ~5-7 output o.pdf   # exclude pages in the range
pdftk i.pdf burst                        # extract to single-page pdf files

Read man pdftk for more information.

To install pdftk on 18.04 see: How can I install pdftk in Ubuntu 18.04 Bionic?

If you after all search for a GUI solution have a look at pdftk's GUI pdfchain or pdfmod.


You can also try pdfjam pdfnup (based on LaTeX pdf-pages)


pdfjam i.pdf '{},2,1-5'         -o o.pdf
pdfjam f1.pdf f2.pdf f3.pdf 1-3 -o o.pdf   ## first 3 pages from f1,f2,f3 
  • {} inserts an empty page
  • many options available (ex: scale, offset, trim, frame, nup) -- see pdfjam man

You can use qpdf which comes with ubuntu. This following command for example puts the pages in reverse order.

qpdf --empty --pages infile.pdf z-1 -- outfile.pdf

You can find more information and other examples here on pages 10 and 11.


qpdf works like a charm (tested under cygwin, don't say it), preserving the links within the pdf required me to not use the --empty option and to replace it with the input filename:

qpdf input.pdf --pages input.pdf 1,4,5,7-r8,2,3,r7-z -- output.qpdf.pdf

(rN to select a page indexed from end, z for last page)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.