GIT Source Control for FileMaker? Meet DDRparser.
🔍 Intro:
FileMaker has always been a powerful platform for building business apps. But when it comes to understanding how a solution changes over time — which script was edited? what field was added? what layout changed? — things get murky fast.
That’s where DDRparser comes in: a free, command-line tool that splits FileMaker’s Database Design Report (DDR) into clean, searchable, text-based files. Combine it with tools like BBEdit, Sublime, and Git-auto-commit, and suddenly your FileMaker app behaves as a Git-tracked project.
If you are working on huge FileMaker solutions, the more important is to have tracking and searching available. For a huge implementation with lots of tables, layouts and script – The DDR report becomes quite big.
❌ I tested this with a customer solution where the DDR XML export was over 1 GB across four files. No browser could open the HTML version — not Safari, Chrome, or Firefox. Then our new DDRparser tool come to rescue – parsed the whole file in only 18 seconds, and searching become blistering fast.
🛠️ What It Does:
- Parses FileMaker’s DDR (XML version)
- Splits it into folders:
Scripts/,Layouts/,ValueLists/,MenuSets/, etc.- Each item is a readable
.txtfile — ready for search, comparison, or version control - Optional: Automatically creat GIT repo and commit to it for each run. Making it a true version control tool.
- Works beautifully with:
- BBEdit’s Multi-File Search
- BBEdit or Kaleidoscope Find Differences
- Shell tools like
difforgit diff
| Name | Platform | Description | Download | Docs | More |
|---|---|---|---|---|---|
| DDRparserSTUDIOMac 1.5.1 | Mac (Intel+Arm) | FileMaker tool for GIT integration, AI supported layout work, searching, and translations. | Download | Documentation | |
![]() DDRparser / DDRparser STUDIO - 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 DDRparser STUDIOThe New STUDIO app is MacOS GUI app for AI assisted layout work, script and analyzis. Read the manual for more info about this new fantastic developemnt in the toolchain for FileMaker development. 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: 7a8d7a5e869ce069a4ff2fd74639e30d76a75b9af6b18ca2d433584a0a0053d6This checksum is automatically verified at download time. | |||||
🎁 What’s Included
- MacOS: DDRparser CLI tool for macOS (signed, notarized)
- Windows: DDRparser CLI tool for Windows (Code-signed)
- A free license for all users
- Optional GUI FileMaker APP to select paths and set options. Generates command to paste into a terminal window.
Read MeandLicenseincluded
📸 Screenshots:
FileMaker DDR export dialog (showing “XML” selected)
Note this version is not yet compatible with “Save a Copy as XML…”, but we plan for that in the next major version. This version uses DDR XML format.


The GUI tool

- Terminal running The
DDRparser command with parameters.

- The Folder structure after parsing

📁 Folder and File Structure – What’s Inside?
If your solution contains more than one FileMaker file, the output will include a folder for each file. These are named after each FileMaker file (without the .fmp12 extension). For example, in the screenshot above, Kimai is one such file, and underneath it are subfolders grouped by object type.
Here’s what each folder contains:
🧩 CustomMenus
Contains one file per custom menu. Each file lists the defined menu items, including associated actions and relevant parameters.
🧾 MenuSets
One file per menu set. A menu set is a collection of CustomMenus, so all related menus are included here. At the bottom of each file is a list of layouts that use the menu set.
🔣 CustomFunctions
One file per custom function, named after the function itself. Each file includes the function name, parameters, and full source code.
📜 Scripts
One file for each script in the solution. At the top of each file is a comment block with the script name and its group. All script steps are shown, with proper indentation for nested If, Loop, etc. Any calculations are shown in full for easy inspection.
📋 ValueLists
A single file: ValueLists.txt. This file lists all value lists in the solution, their contents, and relevant options or configurations.
🧱 Layouts
One file per layout. These files list all layout objects and their properties. The files are not intended to replicate the visual layout (use FileMaker’s layout editor for that), but they are extremely useful when searching for field names, text strings, or script references using multi-file search tools.
🔗 Relationships
A single file that lists all relationships in the graph, including source and destination tables, base table names, and join predicates. Especially useful for large, complex relationship graphs — instead of scrolling and zooming in FileMaker, you can search directly by name.
📂 BaseTables
One file per base table. Each file lists the fields within the table along with their properties. Calculated fields include the full calculation formula. It’s a great way to understand the data model and see what dependencies and calculations exist.
More Screenshots – Using the parser result
- BBEdit with a multi-file search (e.g. searching for “ChatResult” across scripts)



- BBEdit’s “Find Differences” between two exported DDR snapshots

- GIT (Using GitHub GUI tool):


📂 Where to Get It:
✅ Use the download boxes near the top of the article for Mac or Windows version.
❤️ Why It’s Free:
This is a personal contribution from me, Ole Kristian Ek Hornnes at HORNEKS ANS, to the FileMaker community. It’s fast, native, and requires no plugins, no licensing, and no server to run.
The accompanying DDR-GUI FileMaker app uses the ACF plugin only for selecting files and folders. No ACF scripts are used—just built-in Plugin functions. A free license for the plugin is included, valid until September 1, 2025. After that, the plugin will still work for 30 minutes per FileMaker session, which is more than enough for this tool.
✍️ Closing:
If you’re working in FileMaker professionally, this will save you time, help with QA, and make team collaboration more transparent.
Feel free to share, send feedback, or contribute improvement ideas.
— Ole Kristian Ek Hornnes

