← Blog
Interop·5 June 2026·5 min read

Someone sent you a Microsoft Project plan and you don't have Project

A contractor emails you a programme. You double-click it and macOS shrugs, or Windows offers to buy you a Project licence you didn't want. You just need to read the thing and put it in front of a client. Here's the honest way to open a Project schedule in your browser and present it — including the one thing you need to know about .mpp files before you start.

Microsoft Project is a fine scheduling engine and a terrible sharing format. The people who build plans have Project; the people who have to read them — clients, sponsors, subcontractors, the commercial team — almost never do. So a plan arrives as a .mpp attachment and immediately becomes a hostage: locked inside a licensed desktop app that half the recipients can't open.

The usual escapes are all bad. Buy a seat for a file you'll read once. Beg a colleague to screenshot it. Paste a blurry crop into a slide and retype the dates underneath. None of that is necessary — but there's one detail nobody tells you up front, so let's be straight about it.

The honest bit first. Sketchedule imports Microsoft Project XML — a .xml file that Project can save or export. It does not crack open a raw binary .mpp directly. If you were sent a Project XML, you're one drag-and-drop from done. If you only have a raw .mpp, one quick export turns it into XML first (more on that below). Either way you never need Project on your machine to present the plan.

If you have the Project XML: drag, drop, done

This is the happy path, and it's genuinely this short. A Project .xml is the full plan — tasks, summary tasks, milestones, dates, durations, % complete, the outline structure — written out in text. Sketchedule reads it end to end.

Two files, two routes — only one needs a Project seat plan.xml Project XML drag in no Project needed plan.mpp raw binary Save As → XML one copy of Project now a .xml Sketchedule grid · Gantt · milestones in your browser
Fig 1. The whole decision. A Project XML drags straight in. A raw .mpp needs one Save As → XML from a copy of Project first — after that both files land in the same browser view, and no Project licence touches your machine.

Drop the .xml onto Sketchedule and it parses in your browser — nothing is uploaded, the plan never leaves your machine, and it works offline. What you get back isn't a flat list: the Project outline arrives intact. Summary tasks become section bands with a grey summary bar spanning their children, ordinary tasks become bars on the Gantt, and zero-duration tasks become milestone diamonds — reading straight off the fields Project already wrote.

What the XML carries → what Sketchedule draws <Task Summary="1"> <Task> Duration > 0 <Milestone="1"> summary bar (spans children) task bar milestone diamond The outline, dates, durations and % complete are all in the XML — Sketchedule renders them, it doesn't invent them.
Fig 2. No mapping to configure. Project's own outline flags in the XML tell Sketchedule what's a summary, what's a task and what's a milestone, so the plan comes in looking like the plan.

If you only have a raw .mpp: one export, then the same path

A raw .mpp is a binary file — the export you can't do without Project touching it once. The good news: that "once" doesn't have to be your Project, and it takes about ten seconds. Here's the whole workflow, honest about which step needs what.

  1. Check what you actually have. Look at the extension. A .xml is a Project XML — skip to step 4. A .mpp is the raw binary and needs converting first.
  2. Get it exported to XML. The cleanest move is to ask the sender to send the XML instead — in Project it's just File → Save As → Save as type: XML (*.xml). If you can't reach them, run that same export from any copy of Project you can borrow for a minute — a colleague's machine, a shared workstation. You need Project open for this one step, not a licence of your own.
  3. Save the .xml somewhere you can find it. That single file is now the full plan in a format that travels.
  4. Drag the .xml into Sketchedule. Drop it on the app. It parses locally, in your browser — nothing uploaded. The tasks, summary tasks and milestones arrive as a proper outline (Fig 2).
  5. Read it and roll it up. Scan the grid, expand and collapse the outline, and collapse to summary level for a cleaner picture — Sketchedule draws an automatic summary bar over each phase. Filter out anything that isn't part of the story, and promote the key dates to milestones.
  6. Present or share it. Add a header, footer and logo, then export a landscape PDF or PowerPoint — or send a read-only link that rebuilds the whole picture in the recipient's browser, no Project and nothing installed. The client sees the plan, not a screenshot of it.
The point of the caveat: the only thing that ever needs Microsoft Project is the one-time Save As → XML on a raw .mpp — and that can happen on the sender's machine before it reaches you. From the XML onward, everything is browser-side. Ask for the .xml and even that step disappears.

What it looks like once it's in

Here's a Project plan — a small office fit-out — after its XML lands in Sketchedule: the task grid on the left with start / finish / % columns, section bands for each phase, summary bars, task bars on a month axis, milestones and the data-date line. This is the view you hand to a client, not the licensed desktop they can't open.

Office fit-out · imported from a Microsoft Project plan (XML), presented in Sketchedule Activity Start Finish % JanFebMarAprMayJunJul ▾ Design 05 Jan13 Feb100 Space plan & layout100 Permit & approvals100 ▾ Fit-out 16 Feb22 May55 Partitions & ceilings80 M&E first fix40 Finishes & joinery0 ▾ Handover 25 May30 Jun0 Snagging & sign-off0 ◆ Practical completion data date
Fig 3. The Project plan, presented in Sketchedule after importing its XML — task grid with Start / Finish / % columns, section bands with grey summary bars, task bars on a month axis, milestone diamonds and a dashed data-date line. This is a faithful redraw of the app view; Project stays the engine, Sketchedule is the front-end.

Why present it here instead of buying a seat

Because opening the file was never the real job — showing it was. Even people who own Project rebuild its output for the boardroom, because a desktop Gantt print isn't a client deliverable. Here's where a browser presentation layer earns its place:

The honest one-liner: Microsoft Project computes the plan; Sketchedule presents it. The engine stays with whoever built the schedule — Sketchedule is the presentation front-end for the plan Project already produced, a companion to it, not a replacement for it.

Where the source of truth stays. Sketchedule reads Project's XML and draws it faithfully, but it doesn't re-run Project's engine. Logic, levelling and constraints still live in Project; the imported view presents them. Keep Project as the engine, and stop rebuilding its output by hand for every client meeting.

Key takeaways

Present a Project plan without owning Project

Open Sketchedule in a browser — free, no install, nothing uploaded. Drop in a Project XML and hand a client the picture.

← BlogAll articles

Microsoft Project is a trademark of Microsoft Corporation; Primavera and P6 are trademarks of Oracle Corporation. Sketchedule is an independent product and is not affiliated with, endorsed by or sponsored by Microsoft or Oracle. Figures are illustrative, drawn in Sketchedule; Fig 3 is a faithful redraw of the app view of an imported Microsoft Project plan.