UPDATE: DDRparser version 1.3.2 released
DDRparser is a free tool for FileMaker developers that converts XML exports from FileMaker Pro — either Database Design Report (DDR) or SaveAsXML — into a well-organised set of text files. This makes it easy to search, compare, and track changes in your solution using standard text editors or Git version control.
Now supports both Database Design Report (DDR) XML and SaveAsXML files
We have completed a major development effort to implement parsing of the new SaveAsXML format. This release also includes several DDR-format bug fixes.
The SaveAsXML support is marked as beta, but it now exports all the same components as the DDR parser. DDRparser will automatically detect the file type and apply the correct parser.
Changes since 1.1.0: Both formats now exports the Theme catalog. Also we have optimized file writing for repetitive parsing. It now verify if content in previous files is modified, and only writes files that have altered content. In this way we reduce wear of SSD drives, not rewriteing files with the same content as before.
The 1.2.0 release can also scan for multilingual tags used in FileMaker, to produce/update translation source files used to make your FileMaker solution multilingual. The option “-t” instructs DDR parser to do this. Together with ACF-plugin 1.7.6.1 that can load translation files and show layouts in any target labguage. Read the blog post about this.
The 1.3.0 release, we have improved the translation workflow. New commands lets you automatically update all your translation files with new strings from the updated POT file. It also allows auto translations using OpenAI for misshing or translations marked as fuzzy. See the video about this.
The 1.3.2 release is an update release. It only contains the command line DDRparser application itself. Use the GUI tool from 1.3.0. It contains changes to layout and script files, the heading now shows group hierarchy. The relationship graph has also been updated to include Cascade Create/Cascade Delete (CC/CD) markings on each side of a relationship.
This new format support also enables full automation — from FileMaker export to DDRparser processing — including Git auto-commit for tracking changes over time.
| Name | Platform | Description | Download | Docs | More |
|---|---|---|---|---|---|
| DDRparserMac 1.4.12 | Mac (Intel+Arm) | FileMaker tool for GIT integration, searching, and translations. | Download | Documentation | |
![]() DDRparser - More InformationDDRparser is a free command-line tool developed for the FileMaker community by HORNEKS ANS. It helps FileMaker developers turn Database Design Reports and Save a Copy as XML exports into readable, searchable text files that work well with Git, code editors, diff tools, and AI coding assistants such as Codex. FileMaker is excellent at building business applications quickly, but much of a solution's structure normally lives inside the What DDRparser DoesDDRparser reads FileMaker XML exports and creates a split directory with files for scripts, layouts, tables, fields, relationships, custom functions, value lists, menu sets, themes, and other solution elements. The result is a folder you can open in a normal editor and inspect like source code:
DDRparser supports both classic FileMaker DDR XML exports and FileMaker's newer Save a Copy as XML format. Why It Is UsefulMany FileMaker solutions have years of business logic inside scripts, calculations, layout objects, relationships, and custom functions. DDRparser makes that logic visible outside FileMaker. Typical uses include:
Because the output is plain text, it fits naturally into workflows that FileMaker developers already use when working with SQL, JavaScript, PHP, shell scripts, ACF functions, plugins, or other companion technologies. FileMaker and Codex WorkflowsOne of the newer goals of DDRparser is to make FileMaker development easier to combine with Codex. The split directory gives Codex something it can read and reason about. Instead of describing a script from a screenshot, you can point Codex to the generated script text. Codex can then help analyze behavior, suggest improvements, identify repeated patterns, or explain how a set of scripts work together. The experimental macOS clipboard bridge goes one step further. It can convert copied FileMaker script steps into readable DDR-style text, and it can promote supported script-step text back into FileMaker's private clipboard format so it can be pasted directly into the Script Workspace. That makes a practical loop possible:
This feature is still experimental, but it already makes FileMaker/Codex collaboration much more direct for supported script steps. Command-Line and GUI HelperDDRparser itself is a command-line tool. For developers who prefer a FileMaker-based helper interface, the package also includes a companion FileMaker file that can help build command lines for common tasks. The command-line tool is useful for repeatable workflows:
By default, the parsed output is written to a
For repeated exports, DDRparser can skip unchanged files and can optionally help commit generated changes to Git. Free for the FileMaker CommunityDDRparser is provided as a free tool for FileMaker developers. The goal is to make solution analysis, documentation, version comparison, and AI-assisted development more accessible to the FileMaker community. It is not meant to replace FileMaker's own development tools. It is a companion tool: a way to look at your solution from the outside, with the benefits of plain text, search, Git history, and modern developer workflows. More information and updates: SHA-256: 6d9e39759261f5183d31a367998b4011dac06ab0931e4d00ae9eba6eca2740d3This checksum is automatically verified at download time. | |||||
Automating exports with the FMDeveloperTool
To automate DDRparser runs, you can use the Claris FMDeveloperTool to export solutions in XML format. This allows you to create a bash script that performs both the FileMaker Pro export and the DDRparser run in one go.
Important: If your solution uses plugins, you need the FMDeveloperTool included with FileMaker Server 2025. Earlier versions do not load plugins, and any plugin calls in your scripts will appear as <Function Missing>. If you export directly from FileMaker Pro, plugin info is included correctly.
The developer tool is located here:
/Library/FileMaker Server/Database Server/bin/FMDeveloperTool
Command syntax:
FMDeveloperTool --saveAsXML <source_filename> <username> <password> \
[-target_filename | -t <path>] [-encryption_key | -e <key>]
Example:
FMDeveloperTool --saveAsXML "~/Desktop/MyDatabase.fmp12" "Admin" "MyPassword" \
-t "~/Desktop/XMLoutput/MyDatabase.xml"
DDRparser --clean -i "~/Desktop/XMLoutput/MyDatabase.xml" \
-f "~/Desktop/XMLoutput/MyDatabaseFiles"
The DDR GUI tool
The DDR GUI tool has also received a facelift. In the first version, we used the ACF plugin mainly for selecting files and folders in the GUI. In the new version, the plugin plays a much bigger role.
We’ve created a set of ACF functions that are now used in various scripts and buttons throughout the solution, including:
- Verifying file existence
- Generating the command block from selected parameters and options
- Checking the DDRparser version
- Detecting if Git is installed
- Finding the latest released version
- Probing the XML type of supplied files
A new table has been added for plugin installation. This allows the app to install the ACF plugin if it’s missing or outdated (version 1.7.5.6 is required). You’ll be alerted before any plugin is installed.
If you have projects from a previous version, you can simply import the data. If the FileFormat field is empty, enable the SelectedFileFormat field in Browse mode and use Replace Field Contents with the formula:
ACF_run ( "ProbeXMLtype" ; DDRprojects::DDR_SumaryPath )
Differences between DDR and SaveAsXML parsing
We have made the outputs as similar as possible, but structural differences in the XML mean some variations are unavoidable.
- BaseTables: Very similar; however, the timestamp field name changed from
TimeStamptoTimestamp, which will appear in diffs. - Layouts: Object order differs; SaveAsXML includes extra part-info not present in DDR. Files will show many diffs despite containing largely the same data.
- Relationship Graph: Nearly identical.
- Scripts: Mostly identical with minor formatting differences.
- MenuSets: Mostly identical.
- Custom Menus: Mostly identical.
- Custom Functions: Identical
- Theme Catalog: (new in version 1.1.1) The available info in DDR files and SaveAsXML files are different. Both generates a CSS file, and a list of styles in the Theme. SaveAsXML format also export the Theme Preview image. Comparing DDR and SaveAsXML shows many differences when it comes to Themes. Most importantly, using GIT will show if there is any change to Themes used in the application.
Tip: If you use Git, stick to one export method consistently. Switching between DDR and SaveAsXML will produce many diffs unrelated to real changes in your solution.

