The .ffx preset converter for every After Effects version.
Converts After Effects .ffx presets for cross-version compatibility, strips effects whose plugins you don't own, and shows you exactly what is inside a preset — all offline, in one portable exe. Built for .NET Framework 4.8 / WPF: runs on Windows 7 SP1 through Windows 11, no installer, no runtime download on Windows 10/11.
Download · Nightly · Report an issue
Effect Lister — every effect in a preset, checked against your plugins, keyframes and animated values included
| Target | What the converter does |
|---|---|
| CS5.5 | Verified full downgrade to CS5.5's native format — the only target checked against a real natively-saved sample. The result opens in every later AE too. |
| CS6 · CC 2013 · CC 2014 · CC 2015 · CC 2015.3 · CC 2017 · CC 2018 · CC 2019 · 2020 · 2021 · 2022 · 2023 · 2024 · 2025 | Native-format conversion — effects you don't own are removed and indexes repaired while the preset stays in the era the source wrote it, byte for byte. No version bytes are invented or guessed. |
The format research the engine is built on lives in RESEARCH_NOTES.md.
- Grab the FFXCompatibilityTool-*.exe from the latest release — that single file is the whole app.
- Run it. Everything lives inside the exe — no installer, no zip, no DLL pile, no data folder.
- Windows 7 only: install the .NET 4.8 runtime once — download.
⚠️ Windows warns "publisher could not be verified" on first run — the app is unsigned open source, and Windows says that about every fresh download. Check the SHA-256 on the release page, click Run, and if the prompt gets old: right-click the exe → Properties → Unblock.
The app is packaged for the Windows Package Manager:
winget install --id Marbou92.FFXCompatibilityToolThe manifest set lives in packaging/winget and lands in
the community catalog at microsoft/winget-pkgs through a pull request —
until that listing is live, the download above is the way to go.
🌙 Want new features early? The rolling nightly build is rebuilt from every push to main and lives on the
nightlybranch — never on the Releases page, which stays a clean history of stable versions. The link always fetches the latest build.
- Drop presets — or a whole folder — anywhere on the window, or browse.
- Pick the target AE version: CS5.5 for the verified full downgrade, or the exact version you're bringing presets to for native-format conversion.
- Multi-target batches — in a folder's file manager, the Targets field picks several AE versions and every preset converts once per checked one: 30 presets × 2 versions = 60 outputs in a single pass, each named with its version suffix.
- A folder opens as a file manager with the source subfolder layout; every row fills in with its live conversion status. Presets referencing plugins you don't own get a warning badge — double-click a preset to toggle its effects yourself.
- The expand button (top of the file manager) opens it across the whole page — Esc or the button puts it back.
- Five output modes: a
convertedsubfolder, a version suffix beside the originals, overwrite, or one ZIP / one folder that mirrors the subfolders. Every run is a clean rebuild and writes aconversion-report.csv. - Your conversion settings are remembered between sessions — target, batch targets, output mode, the checkboxes, and the folders you last opened and saved to.
![]() Drop a preset — the console narrates every step |
![]() Hand over a whole folder — the subfolder layout comes with it |
- Open a preset to read it the way AE's Effect Controls panel draws it: parameter groups, popups, sliders, color swatches, stopwatch states, keyframe navigators — plus a compatibility list of what's missing on this machine.
- Open a folder to browse the same tree: click a folder and hand exactly that subfolder to Convert, or ctrl/shift-click presets and hand over a selection.
- Folder report deep-reads every preset into one table, exportable as CSV.

Open one preset — or a whole folder of them — and browse the same tree
- Plugin profile — which plugin suites you own, so compatibility warnings match your machine.
- Settings search — type in the box at the top of Settings and pick a match: the app opens the right panel and flashes the row you asked for.
- Theme — one three-way Light / Dark / System control, four color palettes with a checkmark on the chosen swatch, a live preview card, and a two-step Restore Defaults that tells you what it did.
- Verbose Logging — per-file conversion steps in the session log; turn on when reporting a bug.
- Storage cleanup — a stacked meter shows what the plugin scan catalog, the recent-presets history and the session logs occupy; deletes confirm in place for three seconds instead of a popup, then settle with a toast, and the storage folder and logs open from rows like everything else.
- Check for Updates — the app's only network traffic. An automatic check (on by default, off in About) notices a new release quietly — a toast and a Settings badge, never a popup — and the About card shows four honest faces: up to date with the last-checked time, a spinner while checking, an accent card with a Download button when a version is out, and a retry on error. The updater shows the release's what's-new notes, downloads the exe, verifies it against the release's SHA-256 and swaps it in place. The release page is always there when you prefer to fetch it yourself.

Settings — four palettes in light and dark, plus follow-the-Windows-theme
If the app crashes it shows a readable report and saves the full trace to
%LOCALAPPDATA%\FFXCompatibilityTool\crash.log. Report on GitHub in
that dialog opens a prefilled issue with the trace on your clipboard — or
open one yourself at the
issue tracker.
For conversion bugs, turn on Verbose Logging in Settings first — the
session log then carries every per-file step. No telemetry, no crash
uploads: nothing leaves your machine unless you send it yourself.
dotnet restore FfxTool.sln
dotnet test FfxTool.sln --configuration Release
dotnet build FfxTool.sln --configuration Release
# → FfxTool.Gui\bin\Release\net48\FFXCompatibilityTool.exe — one file
# (the DLLs and seed tables are merged/embedded into it; Debug stays
# unpacked)
CI runs on every push: CI (test.yml), Nightly (nightly.yml — the
rolling build, published to the nightly branch, not to Releases),
Release (build.yml — push a v* tag, or use its
Run workflow page with a version number to publish exactly that version).
MIT — see LICENSE. Adobe After Effects, the .ffx format and the plugin names in data/plugin_table.json are trademarks of their owners, referenced for interoperability only; this project is not affiliated with or endorsed by Adobe or any plugin vendor.
Made by marbou92 · no telemetry, no installer, no dependencies

