GREP Batch Processor is a professional automation tool for Adobe InDesign that enables users to execute multiple GREP Find/Change queries in a single operation. Designed for publishing professionals, typesetters, and book designers, this script dramatically reduces the time required for repetitive text formatting and cleanup tasks.
What It Does
Scans and loads all saved GREP queries from InDesign's Find/Change Queries folder
Allows users to select multiple queries and define their execution order
Saves query selections as reusable presets
Executes queries sequentially with customizable scope options
Provides automatic backup functionality before making changes
Supports all InDesign locale versions through intelligent folder detection
The Problem It Solves
When formatting books or long documents, typesetters often need to run dozens of GREP Find/Change operations: fixing typography, standardizing punctuation, applying character styles, cleaning up imported text, and more. Manually running each query through InDesign's Find/Change dialog is:
Time-consuming: Each query requires multiple clicks and waiting
Error-prone: Easy to forget queries or run them in wrong order
Inconsistent: Different operators may apply different queries
Non-repeatable: No easy way to save and reuse query sets
GREP Batch Processor solves all of these problems by automating the entire process.
Who Should Use This Script
Book designers formatting manuscripts for print or digital publication
Typesetters working with multiple documents requiring consistent formatting
Publishing houses needing standardized workflows across team members
Self-publishers who want professional-quality typography
Prepress technicians preparing files for production
Anyone who regularly uses GREP Find/Change in InDesign
Key Features
Core Functionality
Feature
Description
Batch Execution
Run unlimited GREP queries in a single operation
Preset System
Save and load query selections for repeated use
Custom Ordering
Define exact execution sequence for queries
Scope Control
Choose which document areas to include/exclude
Backup Protection
Automatic document backup before changes
Multi-locale Support
Works with all international InDesign versions
User Interface
Feature
Description
4-Tab Interface
Organized, uncluttered workspace
Real-time Filter
Instantly find queries in large collections
Visual Feedback
Clear indication of selected queries and order
Preset Preview
See preset contents before running
Progress Reporting
Track execution status and results
System Requirements
Requirement
Specification
Adobe InDesign
CS6 or later (CC 2018+ recommended)
Operating System
Windows 10/11 or macOS 10.14+
Script Format
ExtendScript (.jsx / .jsxbin)
Prerequisites
Before using GREP Batch Processor, you should have:
Saved GREP Queries: The script works with queries saved through InDesign's Find/Change dialog (Query โ Save Query). Without saved queries, there is nothing to batch process.
Basic GREP Knowledge: Understanding of what GREP queries do and how they affect your document.
Document Backup Awareness: While the script includes backup functionality, always maintain your own backup copies of important documents.
Select "Reveal in Explorer" (Windows) or "Reveal in Finder" (macOS)
Step 2: Install the Script
Download GREPBatchProcessor_v5.00.jsxbin
Copy the file to your Scripts Panel folder
The script will appear in the Scripts panel immediately
Step 3: Verify Installation
Open InDesign
Open the Scripts panel (Window โ Utilities โ Scripts)
Expand the "User" folder
You should see "GREPBatchProcessor_v5.00"
๐ก Tip: Create a keyboard shortcut for quick access! Go to Edit โ Keyboard Shortcuts โ Product Area: Scripts โ Find the script and assign your preferred shortcut.
User Interface
GREP Batch Processor features a modern 4-tab interface designed for efficient workflow management:
Tab
Purpose
Queries
Browse, select, and organize queries. Build and save presets.
Run Preset
Quick access to execute saved presets
Help
Built-in documentation and tips
Settings
Configure backup, folder paths, and preferences
Working with Queries
Query List
The query list displays all GREP queries found in your InDesign GREP folders. Each query shows:
Checkbox: Select/deselect query for inclusion
Query Name: Name of the saved GREP query
Order (#): Execution order number (if assigned)
Assigning Order
Queries execute in the order you specify. To assign order:
Select a query in the list
Enter a number in the "Set #" field
Click "Apply"
Queries run from lowest to highest number. Queries without numbers execute after numbered queries.
Search Options
Option
Description
Use query settings
Use each query's saved scope settings
Footnotes
Include footnote text in search
Master Pages
Include master page items
Hidden Layers
Include hidden layer content
Locked Layers
Include locked layer content
Locked Stories
Include locked story content
Working with Presets
What Are Presets?
Presets save your query selection and execution order so you can reuse them later. Great for:
Recurring book series with consistent formatting needs
Client-specific cleanup workflows
Team standardization
Different document types (novels, textbooks, magazines)
Creating a Preset
Select queries and assign order numbers
Enter a preset name in the "Save Preset" field
Click "Save"
Running a Preset
Go to the "Run Preset" tab
Select preset from dropdown
Review the preset contents shown below
Click "Run Preset"
Backup System
GREP Batch Processor includes an intelligent backup system to protect your work.
How It Works
Before any changes, creates a copy of your document
Saves to a _backups subfolder in the document's location
Filename includes timestamp for easy identification
Optional: auto-delete backup if no changes were made
โ ๏ธ Important: While the backup system is reliable, always maintain your own backup copies of critical documents. Never rely solely on automated backups.
Troubleshooting
"No GREP Queries Found"
Solutions:
Click the gear icon (โ) in Settings
Manually browse to your GREP folder location
The script will remember this path for future use
Use "Show All Scanned Folders" to see where the script is looking
"No Queries Have Order Numbers"
Solution: You must assign execution order numbers (#) to queries. Click a query, enter a number, and click Apply. Only queries with numbers will execute.
.jsxbin is Adobe's official binary format for ExtendScript files. It's not a proprietary or suspicious format โ it's created using Adobe's own ExtendScript Toolkit "Export as Binary" feature, which has been part of Adobe's development tools for many years.
Why Use Binary Instead of Plain .jsx?
This script took hundreds of hours to develop, test, and refine. The binary format helps protect the code from:
Unauthorized copying and redistribution
Resale by bad actors who didn't create it
Modifications that could break functionality or introduce issues
While I'm happy to share this tool for free, I also want to protect the work that went into creating it.
Is It Safe?
Absolutely. Here's why you can trust this script:
Runs 100% locally โ The script executes entirely on your computer
No internet connection โ It doesn't send data anywhere, doesn't phone home, doesn't track you
Only does Find/Change โ It only performs GREP operations that YOU define through your own queries
Adobe standard โ The .jsxbin format is recognized and executed by InDesign just like .jsx files
Community tested โ Hundreds of designers and typesetters use this script daily
๐ก Note: If you're uncomfortable using binary scripts, I completely understand. Always prioritize your security comfort level. You can create similar functionality manually using InDesign's built-in Find/Change dialog โ it just takes more time.
Best Practices
Before Running
Save your document manually
Enable backup in Settings
Test on a copy for new presets
Review query order for dependencies
Creating Effective Presets
Group related queries (all typography, all cleanup)
Order carefully (general โ specific)
Name descriptively (include purpose)
Document externally (note what each does)
Query Design Tips
Keep patterns focused (one task per query)
Test thoroughly before adding to preset
Consider order dependencies
Use descriptive query names (e.g., "01_Fix_Em_Dashes")
โ Pro Tip: Always test queries in Find/Change dialog (Ctrl/Cmd+F) before batch processing. This helps catch issues before they affect your entire document.
Credits & Acknowledgments
Contributor
Contribution
Jean-Claude Tremblay
Locale folder mapping data enabling international support
Mohammad Hasanain
Original inspiration from GREP Toolkit concept
InDesign Community
Testing, feedback, and feature suggestions
Resources Used
Adobe InDesign Scripting Guide
InDesign ExtendScript API Documentation
GREP in InDesign by Peter Kahrel
InDesignSecrets.com community
About the Author
Marko Markovic
I'm a book designer working with US publishers. I built this tool because I was tired of running the same GREP queries manually, over and over. What started as a personal productivity hack turned into something I wanted to share with the wider InDesign community.
After years of formatting books, I know how much time goes into repetitive tasks. If this script saves you even a few hours, it was worth sharing.
๐ Free Forever: This script is and will always be free. I believe in sharing knowledge with the community. If you find it useful, please leave feedback and rate it โ it helps others discover the tool!
Legal Disclaimer & Trademarks
โ ๏ธ IMPORTANT - PLEASE READ CAREFULLY
Trademark Notice
Adobeยฎ, InDesignยฎ, and Creative Cloudยฎ are registered trademarks of Adobe Inc. in the United States and/or other countries. macOSยฎ is a trademark of Apple Inc. Windowsยฎ is a registered trademark of Microsoft Corporation.
GREP Batch Processor is an independent project and is NOT affiliated with, endorsed by, sponsored by, or in any way officially connected with Adobe Inc., Apple Inc., Microsoft Corporation, or any of their subsidiaries or affiliates.
This is a community-created automation script that works within the Adobe InDesign scripting environment. It is provided as a productivity tool for the publishing community.
Use at Your Own Risk
By downloading and using GREP Batch Processor, you acknowledge and agree that:
You use this script entirely at your own risk
The author makes no warranties, express or implied, regarding the script's functionality, reliability, or fitness for any particular purpose
The author is not responsible for any damages, data loss, file corruption, or any other issues resulting from the use of this script
You are solely responsible for backing up your documents before running any batch operations
You should test the script on non-critical documents before using it on important work
No Warranty
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Limitation of Liability
Under no circumstances shall the author be liable for any direct, indirect, incidental, special, consequential, or punitive damages arising out of or related to your use of this script, regardless of whether such damages arise from breach of contract, tort (including negligence), or any other legal theory, even if the author has been advised of the possibility of such damages.
License
โ FREE FOREVER - This script is and will always be free. I believe in sharing knowledge with the community.
GREP Batch Processor is provided free of charge for personal and commercial use.
Why Free?
I created this tool to help fellow designers and typesetters save time on repetitive tasks. The publishing community has given me so much knowledge over the years, and this is my way of giving back. Knowledge should be shared, not sold.
You MAY:
Use the script for any purpose (personal or commercial)
Share the script with others
Use in commercial workflows and client projects
Modify for personal use
Include in your workflow without any fees
You MAY NOT:
Sell the script or charge money for it
Remove attribution/credits
Claim authorship
Redistribute modified versions as original
Disclaimer: This software is provided "as is" without warranty of any kind. The author is not responsible for any damages or data loss resulting from use of this script. Always backup your documents before batch processing.
Attribution
When sharing or referencing this script, please credit: