Importing a Microsoft Project plan into Gantto via XML
If you've ever left a job or a client and lost access to Microsoft Project, you'll know the problem. The plan is sitting right there, months of task breakdowns and dependencies, and you can't open it anymore because the licence belongs to someone else. Or maybe you never had a licence in the first place and just want to see what's in a file someone sent you.
Here's the thing: you don't need a licence to open that plan again. You need one email.
I built Gantto because I hit exactly this at work. I needed a Gantt chart and couldn't get a premium licence, so I built my own tool instead. One of the things people kept asking for after that was a way to bring an existing Microsoft Project plan in, not just start from scratch. This post covers how that works today.
Getting the file into a format Gantto can read
Microsoft Project's native .mpp file is a binary format with no public specification. It's not that it's impossible to read outside Microsoft Project, plenty of tools attempt it, but every undocumented detail you get wrong (a date encoding, a field offset) risks silently corrupting someone's actual plan. Project can also export that same plan as XML, and that XML is documented and portable in a way .mpp isn't. If you don't have a licence yourself, this is the one ask you need to make of whoever does:
Ask them to open the plan in Microsoft Project (or Project Online), go to File > Save As (or Export > Export to XML in newer versions), and choose XML as the format.
That's the entire favour. It takes them a minute, and it's the only part of this that needs an actual Microsoft Project licence anywhere in the chain. Once you have that XML file, everything from here on is yours to do without needing to touch Microsoft Project again.
What Gantto's import actually does
Open gantto.app (or your downloaded copy of Gantto), go to More > Import > Import from MS Project, and select the XML file. That's it from your side.
Under the hood, Gantto reads:
- Task hierarchy (phases, subtasks, nesting)
- Task dates (start, end, duration)
- Dependencies between tasks, including type and lag
Once imported, it's a normal Gantto plan. You can edit it, save it as a JSON file, and carry on managing it exactly as if you'd built it in Gantto from the start. This is a free-tier feature, no licence or payment needed to import and edit.
The parsing happens entirely in your browser using the browser's own XML parser, so the file never gets uploaded anywhere. Gantto is offline-first and has no server-side storage, so this isn't a case of "upload it to our service and we'll convert it." Your file stays on your machine the whole time.
A quick note on what this isn't: Gantto no longer imports the raw binary .mpp file format directly. That path existed early on but its date and dependency parsing was never reliable enough against real files to trust with someone's actual plan, so it was removed in favour of the XML path above, which uses clean, documented data instead of a reverse-engineered binary format. It's also why the ask has to be "export as XML," not "just send me the .mpp" - Gantto has no way to read the raw file, on purpose.
Why your task links don't break
This part is easy to overlook but matters a lot in practice. Every task in a Microsoft Project file has an internal ID, and dependencies between tasks reference those IDs, not task names. If a tool re-numbers tasks on import, sloppily or arbitrarily, existing dependency links can point at the wrong task, or break outright, without anything obviously looking wrong until you check closely.
Gantto's importer preserves the original task IDs from the file you import. Any task you add afterwards inside Gantto gets a new ID that starts safely above the highest ID already in use, so there's no risk of a newly created task accidentally colliding with one of the original imported tasks. Practically, this means the dependency structure you had in Microsoft Project comes across intact, and anything new you build on top of it in Gantto won't quietly conflict with what was already there.
Worth trying if you're stuck without a licence
Gantto is free, runs entirely offline as a single HTML file, and doesn't need an account or a login. You open the file, you work on your plan, you save it locally. If you're stuck with a Microsoft Project plan and no way to open it yourself, one XML export from someone who still has access is all it takes to get back to looking at your actual plan again, and from there you never need Microsoft Project in the loop again.