Inside the .logicx file format
Published August 2026
A .logicx isn't a file. It's a macOS package — a folder that the Finder displays as a single item — and the session inside it is stored in a proprietary binary format that Apple has never documented. That one fact explains most of what people run into: why Windows shows a folder, why "online .logicx viewers" show you nothing, and why there's no pip install that parses one.
What's in the package
Open one on a Mac with right-click → Show Package Contents (or just unzip a zipped project anywhere) and the layout is:
MySong.logicx/
├── Alternatives/
│ └── 000/
│ └── ProjectData ← the session itself (binary)
├── Media/ ← recorded + imported audio, ordinary files
└── Resources/ ← artwork, notes, supporting data
Alternatives/ holds one numbered folder per project alternative (Logic's File → Alternatives feature); each contains a ProjectData — the arrangement, tracks, regions, MIDI, tempo and time-signature maps, markers, mixer and plugin assignments, all in one dense binary. Media/ is the honest good news: your recorded takes are sitting there as ordinary audio files you can copy out on any operating system, no Logic required.
Why there's no public parser
The ProjectData binary is unpublished and genuinely hostile to casual reverse-engineering. From maintaining a production parser and writer for it, the shape of the problem: the session is a stream of typed binary records with different timing bases in different record families (some event data counts ticks at one resolution, the tempo map at another), save-format variants that differ between Logic versions for the same data, and details that change when a user so much as re-saves the project — a resaved session flags event records differently than a freshly created one, which is exactly the kind of thing that makes a hobby parser return zero notes on real-world files. A parser that only handles projects it created is easy; one that handles projects users have actually touched has to be maintained against a corpus of real sessions.
This is also why the "online logicx viewer" sites that rank for this query show you nothing useful: they list the package's folder contents — which you can do yourself with unzip — and stop at the ProjectData wall.
Reading one programmatically
The practical route is a parser that already speaks the format, driven over HTTP. Upload the zipped project once and take your pick of representations:
- A playable session in the browser — tracks, arrangement, MIDI and tempo map, rendered and audible. The fastest "what's in this project?" answer there is. (Open a .logicx online.)
- A native conversion — the same project rebuilt as an Ableton
.als(gzipped XML), FL Studio.flp, or REAPER.rpp. (All twelve directions.) - A text representation your code can walk — convert to
.rppand the whole session is plain text: parse it, edit it, and convert back to.logicxif you need Logic to open the result. The worked Python example is in controlling Logic Pro with Python.
See inside a Logic project now
Upload the zipped .logicx — it opens in the browser as a playable session, on any machine.
Writing one
The write direction has no shortcut at all — there is no documented way to author a ProjectData, so anything that produces a working .logicx is running a reverse-engineered native writer. That's what Doseedo's pipeline does in two places: conversions into Logic (an .als, .flp or .rpp comes back as a real, editable .logicx) and audio-to-session (a mix comes back as a .logicx with separated stems on named tracks, a tempo map, per-stem MIDI and a chord guide). Both are also callable by AI agents through the MCP server.
FAQ
What kind of file is a .logicx?
It isn't a single file — it's a macOS package, a folder the Finder displays as one item. Inside are the project's media, resources, and the session data itself, which is a proprietary binary format with no public specification.
Is there a library that parses .logicx?
No official one, and no complete open-source one. Apple has never documented the format, it changes across Logic versions, and even a plain user re-save rewrites low-level details. Working parsers are reverse-engineered and maintained against real projects.
What can I extract from a .logicx without special tools?
The audio: recorded takes and imported files sit in the package's Media folder as ordinary audio files. On Windows or Linux, open the zipped project as an archive and pull them out. The arrangement, MIDI and mixer live in the binary session data, which needs a real parser.
How do I actually read a Logic project programmatically?
Upload the zipped project to a parser that speaks the format: it can open in the browser as a playable session, convert natively to Ableton, FL Studio or REAPER, or come back as REAPER's plain-text .rpp — which your code can then read and edit directly.