If you need to save an InDesign document as separate pages or separate spreads, Extract Pages is for you.

Tested on Windows and Mac, works on CS6 upwards.

(The main product page for this script is here.)

  • Specify multiple ranges, and save as separate pages, spreads, or sections
  • Retain the original page numbers
  • Save as individual, separate pages, even when the original document is set up as facing pages.
  • Automatically create an InDesign book (.indb) from all the separate files.
  • Split entire document according to paragraph style! Separate a long file into separate files, one per chapter, and combine them into an InDesign book in a few clicks!
  • Split entire document according to the predefined document sections!
  • Save each alternate layout in your document as a separate file!

This robust script is now available for only $49. Click on the Buy Now button to add it to the Cart.

As with all our scripts, Extract Pages comes with a 30-day money-back guarantee. If it fails to work as advertised, just get in touch for a full refund.

Extract Pages UI

Note: Extract Pages is based on the script which I published below many months ago, and which is still available for free. However, there are issues with that script, some of which are described below. Extract Pages is the pro, fully-tested, robust implementation of the free script. It also works with spreads. It is now recommended for most purposes.



Over on the Adobe forums, someone asked if there was a way to save an InDesign file as a series of separate pages, each page being a standalone InDesign file. This is somewhat similar to Acrobat Pro’s “Extract Pages” feature, whereby you can save a PDF as a series of separate 1-page PDF files. But here, the poster was asking to save an InDesign file itself as a series of separate 1-page InDesign files.

The script below is what I came up with. The way it works is to save a copy of the current active InDesign file. Then, it copies a single page from the old file, and tags it on to the end of the new file. It then deletes all the other pages from the second file, leaving only the copied page at the end. It then saves that 1-page ID file into a user-selected folder. The script loops through all pages in the active InDesign file, and so the end result is a folder full of 1-page InDesign files that together make up the entire active InDesign file. Q.E.D!

Is this the most efficient way of doing things? Probably not. It seems unnecessary to have to save a copy of the entire active ID file just for the sake of copying a single page. But consider this: an InDesign file consists of many document-wide preferences. Simply creating a new file and copying the page over will mean that all these preferences are reset, including things like bleed and slug settings, and so on. Of course, all these properties could be copied over one by one, along with the page dimensions and anything else, but this would make the script much longer, if more efficient.

There is also the question of what to do with unused paragraph styles, character styles, swatches, and layers, etc. If we only copy over a single page, only those properties (styles, layers, swatches, etc.) that are used on that particular page are going to be copied over. This may or may not be desirable.

Hence the simplest solution: Simply make a complete copy of the entire document, and then delete all unnecessary pages. As this does the trick, that is how the script below works. Perhaps I’ll come back to it at some future point to refine it.

If you have any suggestions on how better to do this, I’d be interested to read your comments.

// BS"D
// Extract Pages
// An InDesign script by TAW (c) 2016 Id-Extras.com. All rights reserved.
// Free to use, but may not be commercially distributed
// Please do not delete this copyright notice
// This script will save each page of the current InDesign file as a separate InDesign file
// To use: Open a document, run the script, select your target folder in which to save the files, and click OK.
// Note: Works best on a document that is not set up as facing pages.

myDoc = app.activeDocument;
myPages = app.activeDocument.pages;
myFolder = Folder.selectDialog('Choose the folder in which to save the pages...');
if (myFolder == null) exit();
for (i = 0; i < myPages.length; i++){
   newDoc = app.open(File(myFolder+"/Page_"+myPages[i].name+".indd"), false);
   myDoc.pages[i].duplicate(LocationOptions.AT_END, newDoc.pages[-1]);
   newDoc.pages.itemByRange(newDoc.pages[0], newDoc.pages[-2]).remove();