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
Five panels — Appearance, Storage, Plugin Profiles, Updates, About — on one shared row system, with a remembered last tab and Alt+1…5 to switch from the keyboard.
- Plugin profile — which plugin suites you own, so compatibility
warnings match your machine. A filter box narrows the vendor grid as
you type, Link all / Unlink all sit on the section headers behind a
two-step confirm, a system scan reports one chip per recognized vendor
and offers the detected AE Plug-ins folder as a one-click link,
Add custom vendor actually adds vendors, and each card shows how
many
.aexfiles the scan catalog holds for it. - 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 whose chosen swatch wears a mini-pill badge, a live preview card, and a two-step Restore Defaults that tells you what it did. Every boolean in Settings is a real switch — no checkboxes anywhere.
- 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.
- Updates — the app's only network traffic, on its own panel. A System update row runs the check (its value reads Up to date, Checking…, or the new version and unfurls See what's new, Release page and Skip this version), App version copies on click, Flavour says Stable or Nightly, and three switches decide behavior: the automatic check, Include nightlies (prerelease checks by publish date — a nightly hit opens its release page), and Notify (gates the corner toast; the tab's dot shows either way). Clear downloaded updates reports and deletes whatever a previous download left staged. The Changelog row drills into a strip of version pills fetched straight from GitHub — pick a release and its date, hero image and full notes render below. 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.
- About — links and details only: the identity row with its STABLE / NIGHTLY channel chip and click-to-copy version, the specs chips (Windows 10+, .NET Framework 4.8, single exe, no installer), a Copy SHA-256 row (the exact hash the release page publishes), and the repository and issue-tracker links.

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

