Why Adobe project files won't open in other apps
You double-click an .aep or .indd in an app that isn't Adobe's and nothing useful happens. This is not a bug or a licence trick: it comes from how project files are built and from what other programs are able to know about them.
A project file is a memory dump of one application
A project file is not a description of your work in neutral terms. It is the state of one program, written in whatever structure that program found convenient: its own object model, its own idea of what a layer, a clip or a style is, and often internal identifiers and version-specific fields. The file is meant to be read back by the same application, usually the same or a newer version of it.
That is why the formats are rarely published. Adobe documents some formats (Photoshop's PSD, for instance, has a public specification, and Illustrator's older version 7 .ai format was published too), but the native project files of After Effects, InDesign and Lightroom Classic are not documented for outside developers. A developer who wants to read them has no manual to follow.
What "reading" a closed format involves
When there is no specification, support is built by looking at the files themselves. In practice that means:
- Finding the container. Many closed formats sit on top of something familiar. A Lightroom Classic catalog (.lrcat) is, to my knowledge, an SQLite database, so its tables can be opened with any SQLite tool. A Premiere Pro project (.prproj) is gzip-compressed XML: unzip it and you get a flat list of objects with numeric IDs that refer to one another. That is how the Craft Converter reader for .prproj works, and it also accepts plain uncompressed XML.
- Decoding the binary parts. An .aep is a binary file made of tagged chunks, not text. Reading it means working out what each chunk holds. Craft Converter relies for this on py-aep, an open-source (MIT) library by Fortiche Production, which parses .aep files into compositions, layers and properties.
- Testing against real files. Since nothing is guaranteed, a reader has to be checked on many projects made by many versions of the original app. A field that is always zero in your samples may mean something in somebody else's.
There is also a text twin of After Effects projects: the .aepx, which is the same project saved as XML (File ▸ Save As ▸ Save a Copy As XML). It is far easier to read, but it is still Adobe's schema, not a published standard. Craft Converter accepts both .aep and .aepx. The repository notes that the .aepx path comes from the upstream code and has not been tested here for lack of sample files, which is a fair reminder that "XML" does not mean "solved".
Reading is also only half of the job. After the reader has understood the source, the target application has to be able to express the same thing. A reader can decode a blur perfectly and still have nowhere to put it if the destination has no equivalent effect.
Documented interchange formats
The industry's answer to this is formats designed to be exchanged rather than to restore one app's state. A few that matter here:
| Format | Area | What it is |
|---|---|---|
| Final Cut Pro 7 XML (xmeml) | Video editing | A documented XML description of sequences, clips, transitions and some effects. Premiere Pro, and FilmCraft's importer, read it. |
| AAF | Video and audio editing | An open exchange format for edits, widely used to send a cut to audio or finishing tools. |
| IDML | Page layout | InDesign's own XML-based interchange format, a package of XML files that InDesign opens and saves. |
| PDF-compatible .ai | Vector graphics | An .ai that contains a PDF copy of the artwork next to Illustrator's private editing data. |
| XMP sidecars | Photo metadata | Small XML files next to a photo holding ratings, labels, keywords and captions. |
| SVG and PDF | Vector graphics, documents | Open or published standards that many tools read. |
Some of these are good routes in both directions. The Craft apps' own pages in the repository describe a few: FilmCraft exports Final Cut Pro XML and AAF, which Premiere Pro imports; DesignCraft exports IDML, which InDesign opens; VectorCraft exports PDF and SVG and can save an .ai that Illustrator opens. In those cases no converter is needed because both sides already speak a shared format.
Why exchange formats lose information
An interchange format is a common denominator. It can only carry what its authors thought every tool would want. Anything that is specific to one app does not fit, so it is dropped, flattened or approximated:
- A PDF-compatible .ai keeps the drawing, but not Illustrator's live effects or appearance stacks. Opened elsewhere, those arrive as their drawn look.
- Final Cut Pro XML carries cuts, transitions, speed changes and levels well. It cannot carry an effect that the other editor does not have, and titles and effects often need a check.
- XMP sidecars carry ratings, keywords and captions. Develop settings are another matter: LightCraft, according to its page in the repository, does not write Adobe's develop fields, so edits do not travel to Lightroom that way.
- Fonts are almost never inside the file. Moving an InDesign or Illustrator document means installing the same fonts, otherwise they are substituted.
- Footage and linked images are stored as paths on the original computer. A project can arrive intact and still show media as offline until it is relinked.
None of this is a defect of a specific converter. It is the cost of moving between two models that were never designed to match.
What this means for moving a real project
- Check first whether the app opens the file by itself. Some Craft apps read Adobe formats directly: according to the repository, PhotoCraft opens PSD and PSB, VectorCraft opens .ai and .ait, DesignCraft opens .indd and .idml, LightCraft imports .lrcat catalogs. Try that before anything else.
- Prefer a documented route when you have the original app. If you still have InDesign, an IDML export is generally a safer bet than asking another app to interpret .indd. If you still have Illustrator, saving with the PDF-compatible option helps.
- Use a converter for what has no shared format. After Effects and Premiere Pro projects are the examples here: there is no neutral format for a full composition, so Craft Converter reads the .aep or .prproj and rebuilds the project for EffectCraft or FilmCraft.
- Keep the original. Treat the result as a new project, not a replacement, and compare it with the source.
- Read the report. A good conversion tells you what it could not carry over. Anything listed there is something to rebuild by hand.
Limits and what to check
Because the formats are not public, every reader is partly an educated guess, and that applies to Craft Converter, to py-aep and to the Craft apps' own importers. Check expressions, effects with unusual parameters, fonts, linked media and anything with a timing or colour subtlety. The apps involved are independent open-source projects by the ArtCraft Team, and Craft Converter is an independent site, not affiliated with Adobe or ArtCraft.
If you want to see the practical side, the guide explains how to prepare a project and read a conversion report, supported formats lists what each route covers, and the After Effects and Premiere Pro converters are the two places where a file is actually translated. The FAQ covers the rest.