InData

Transform your raw structured data into complete, complex InDesign documents

  • InData brings the full layout, design, typographic and graphic publishing power of InDesign to bear on all your data-driven repetitive publishing tasks.
  • With InData, you set up a template once, and then flow in all your data for dozens or hundreds of pages, fully formatted and ready to print, all with a single menu invocation.
  • Setting up the template, in the simplest case, is just like setting up a Word mail-merge, something you probably already know.
  • In more complex cases, you can build almost anything you could express in an InDesign story flow, ranging from a single line per record up to many pages per record, with any number of graphics, anchored and custom-anchored objects like text frames and groups of graphics and text frames, tables, and even variable page layouts using different master pages.
  • InData has been deployed in production since the year 2000, with thousands of users world-wide. It’s a rock-solid, industrial-strength data publishing solution.
  • A trial takes just a couple of minutes to install, costs nothing, and gives you 15 days to try out all aspects of the product, including the Pro features.
  • Read on for the full story, or use the top-of-page menu to jump directly to the relevant page section.

The InData story

If you’re a visual learner, before we get into the full story, here are a couple of video walk-throughs—one for InData and one for InData Pro (which adds full anchored object and table support to the standard InData).

Apply ultimate publishing power to your data

Simply put, InData works like a mail merge on steroids. You create a template in a normal document, with rules that tell it how to format your text and graphics. Then, with a single menu invocation Import from File…, the plug-in builds your fully-formatted document at jaw-dropping speeds—up to hundreds or even thousands of pages per hour.

Use InDesign’s powerful typographic controls for each variable field and for any static text, to get just the right look for your data.

InData has a comprehensive English-like scripting language. You can put any field from your data source in any order in the text flow, force column or page breaks, generate headers/footers, apply master pages as needed—and lots more.

Use InData’s scripting language to build simple or complex rules for including or excluding fields, graphics, and static text. And there are no limits on your data: records and fields can be as many and as long as you need.

Applications

InData is designed to build • one-to-one marketing mailers • product catalogs • financial and legal reports • conference guides • abstracts • real estate guides • trader and swap magazines • classified advertising • timetables • phone books • course listings • TV guides • and much more—just about any job where you’re given variable data to publish.

Features and benefits

use a “prototype” (template) for your records

In your template text, use bracketed names to identify each incoming data field, e.g., «name», «address» or «description», and style each field with appropriate text and paragraph attributes. You can weave in static and dynamic text and pictures, include your fields in any order, or omit fields entirely.

get results as either a beginner or an expert

Do simple jobs easily, and still tackle the toughest and most complex jobs with power.

import pre-sorted delimited text files

Sort and then export from your database application, spreadsheet applications (e.g., Excel), or download from the web or your corporate information systems, and then import the resulting raw data file with InData to produce fully formatted output.

enjoy unlimited data

Use as many fields and records as is practical, with each being as long as needed.

do sophisticated picture importing and sizing

Import related graphics into picture frames anchored in the incoming text. You can size the graphic to the picture frame or the frame to the graphic, using one of several sizing options.

use variables

Calculate and store information for later use in the prototype, or for use in later records.

use conditional statements

Create more sophisticated record templates that apply different formats to a field, based on its or another field’s value. For example, you can print heads and subheads only when they change, or generate a page break, given a change of value indicating a new section or subsection.

use repeat loops

Loop over data elements (character or words or lines), looking for particular information, or even repeat whole portions of the prototype.

build with automatic headers and footers

Create multiple, independent “dictionary-style” headers and footers on each page or spread, with sophisticated controls over the header/footer contents.

apply multiple master pages

Based on incoming data, use different page layouts by applying master pages.

build anchored groups (Pro version)

Build anchored-anything content (text frames, groups containing other text and graphics frames and sub-groups), with sub-prototypes in the anchored text frames.

build sophisticated tables (Pro version)

Build tables, with sub-prototypes in each cell, and with graphics placement available for any picture cells, including QR code support.

script InData

Drive InData with scripts for automation of repetitive single jobs, as well as large, complex jobs involving multiple imports in multiple documents.

team up with InCatalog

Build your templates with InCatalog links embedded. Later, using InCatalog, you can update fields in place from updated data, or extract any document updates to your data.

Data publishing challenges

You’ve got a raw data dump from a spreadsheet or database, and you’ve got to import each record, re-arrange the fields, style each field appropriately, deal with missing fields in some cases, etc. You’re looking at hours or days of endless busywork that’s also quite error-prone.

Writing an InData prototype, you declare the fields, use field placeholders in the appropriate order, style each placeholder as needed, and then with a single menu selection (Import from File), you’re done in a few minutes, with 100% data accuracy.

You’ve got a complex data publishing job, with sections, subsections, a huge list of fields, many of which are optional, potentially multiple graphics per entry, etc. How are you going to automate it all?

Using InData’s English-like scripting language, you build conditional rules to suit your needs, including or excluding fields based on the presence or content of other fields, including one or more graphics per entry based on graphic availability, etc.

You need “dictionary style” running headers or footers for each spread, for example, to show the first and last names on the spread.

Using InData’s built-in header/footer support, you decide which data fields to track, and whether to only look on this spread or on previous spreads, and how far to look for the header/footer content in the flow.

You’ve got a truly complex data publishing job, where the basic page or spread layout needs to change, based on the incoming data.

With InData’s master page/spread support, you use conditionals that apply the appropriate master for the current data.

You need to format the beginning or end of a given sub-group of records specially; for example, you need a header for each state in a directory listing.

Using InData’s ability to look forward or backward one record, you build a conditional statement that decides when you’re at the start or end of a group and format appropriately.

You’ve got to build and print or save a bunch of documents using one basic template and multiple data sources, or you’ve got one data source and multiple documents to build. It’s tedious to do it all one-by-one.

With InData’s scriptability, you can easily automate this and many other “batch” situations.

You’re building your document with InData and are miles ahead of the game, but you might need to make last-minute small but wide-ranging changes—for example, updating a set of prices in a catalog or parts list—and you can’t afford to miss any changes, nor make any pricing mistakes.

Using the companion product InCatalog, you link your prototype data field placeholders to the appropriate field in your database using another data field for the key, and flow in the data with all InCatalog links in place. Anytime later, you can update the linked document contents from the latest database snapshot, with 100% accuracy, and without re-creating the document.

What users say

Here’s a sampling of the feedback we’ve received from InData users over the years (and, earlier, from Xdata users). See InData testimonials for a whole page at a time.

InData case studies

Try InData

Starting a trial is painless, taking only a few minutes, and giving you full-featured operation for 15 days at no cost. (Contact us if you need longer for a full evaluation.)

InData 3.5.1 for InDesign 2026 ⤓ macOS ⤓ Windows
InData 3.5.1 for InDesign 2025 ⤓ macOS ⤓ Windows
InData 3.5.1 for InDesign 2024 ⤓ macOS ⤓ Windows
  • To download, find your InDesign major version and then your operating system above, and click the appropriate link.
  • Once downloaded, quit InDesign if running, double-click the downloaded installer to install the plugin, then re-start InDesign. InData’s top-level menu will be available at that point.
  • On first use, you’ll be prompted to enter your license. Select Request Trial.

We strongly encourage you to try out the software in your real-world environment before purchasing. Your just-installed and trial-activated InData plugin is a fully-functional version that will operate in trial mode for 15 days, including all Pro features.

Also note that you can purchase a license at any point during the trial, and continue using InData without re-installing: once purchased, simply choose InData > About > License and enter your new license information, then OK your way out.

Buy InData licenses

You can purchase subscription licenses—or just learn your localized cost should you purchase—via our online store. Prices start at 139 USD for 1 user / 6 months.

After a successful purchase, you will be shown a page with your new license(s), and will also receive an email with the same information. You should save a copy of this license information somewhere safe, because you’ll never be shown a full license again in the user interface (to protect you from casual piracy).

When prompted for a license on first use of the software (or when your trial has expired), copy and paste the license you received from the email or web page into the prompt, and enter your name, optional affiliation and email.

See our sales page for complete information about managing licenses, users, renewals, etc.

Install or update InData

If you’re looking to install InData for a trial, see the trial instructions above.

The installer downloads below are the most up-to-date versions of InData. Use them in any non-trial situation—when you need either a fresh installation under a new or existing license or an update to the latest version for an existing licensed installation.

InData 3.5.1 for InDesign 2026 ⤓ macOS ⤓ Windows
InData 3.5.1 for InDesign 2025 ⤓ macOS ⤓ Windows
InData 3.5.1 for InDesign 2024 ⤓ macOS ⤓ Windows
  • To download, find your InDesign major version and then your operating system above, and click the appropriate link.
  • Once downloaded, quit InDesign if running, double-click the downloaded installer to install the plugin, then re-start InDesign. InData’s top-level menu will be available at that point.
  • On first use, if you haven’t already activated the license, you’ll be prompted to enter your license.
  • If you’re waiting for your license to be purchased by someone, select Request Trial for the interim. Once you receive your license, open the plugin’s About > License dialog, enter that new license and verify your name, optional affiliation and email, then OK your way out.

To use InData under older, unsupported versions of InDesign, see all the InData installers.

For a reverse chronological release history, see all the InData news.

Learn InData

InData has a complete manual (PDF download). It’s fairly old, but still accurate.

There are also tutorial files that work with the manual.

Documentation of features added since the manual are found in the release news notes. The most important major-feature release notes are listed below for easy access.

  • InData 3.0 — new Pro-level features, mainly full support for tables and anchored anything (graphics, text, groups, etc)
  • InData 2.18 — QR code support
  • InData 2.14 — full URL support for file access
  • InData 2.1 — a number of new functions for working with string data
  • InData 2.0 — full support for text anchors, hyperlinks and cross-references
  • InData 1.8 — a new format() function and support for the &it tag

There are also dozens of releases with minor improvements and bug fixes.

Training

See the introductory videos to get some ideas of what you can do with InData and InData Pro. Also see the InData case studies for more ideas, including tutorial aspects in some cases with prototype samples.

Our own Joe Mathia recorded a roughly 1.5 hour online presentation to the LA InDesign user’s group covering data publishing with InDesign. The presentation is largely an excellent InData tutorial and overview (with InDesign built-in “data merge” examples interspersed and even some InCatalog demos), with the InData portion starting around 38:00 and ending around 1:40:00. (At the end Joe is discussing InData vs other products, noting that InData doesn’t build real tables: now with InData Pro, it does.)

InDesign guru Laurie Ruhlin recorded a great 45 minute online presentation in conjunction with Walsworth. From the overview:

Laurie will be showing how she took data and images from a Walsworth customer’s database and flowed it into an InDesign layout using Em Software’s InData, an InDesign plugin. She started by redesigning the catalog, then worked to get the data and images ready to flow. She created the InData prototype, which allowed her to flow and format hundreds of catalog items from an Excel spreadsheet and images located on a shared server into her InDesign document in minutes.

Gil Poulson has written a lighthearted but very helpful InData tutorial, “Extreme Ad Makeover with InDesign and InData.” See part 1, part 2, and part 3.

Get InData help

When you run into problems, please follow these directions.

  • Make sure you’re running the very latest version of InData (the current version is shown in the Install or update section above). If not, please install the latest version and try again (you’ll have to restart InDesign)—many issues are solved at this point.
  • If that doesn’t help, then start a support ticket using InData > Contact Support, which fires up your default email application with critical information we’ll need to be of any help.
  • Write a concise summary of the problem in that email, including the steps to reproduce.
  • Normally, we’ll have to see your documents (InDesign and raw data input file), so zip up the documents and data files in question and attach them to the email you’re composing. This doesn’t necessarily have to happen at the first submission, so don’t send yet if you’re not sure. (We’ve been handling confidential customer information for 35 years without a single problem, so you can rest assured your data is in good hands.)
  • Send the email (which goes to support@emsoftware.com). We should respond fairly quickly, usually the same business day unless you’re many time zones ahead or behind us. Though we can’t make guarantees, we get constant feedback that people are surprised at how quickly they get a response.

If you have a sales-related or license-related question, first see sales & license information, and if that doesn’t help, send a normal email to sales@emsoftware.com.

Follow InData news