SCORM vs xAPI: Keeping Your Content Portable
July 13, 2026 · 6 min read
Portability is about the data, not the ZIP
Short version: SCORM makes your content portable between conformant systems. xAPI makes your records portable, because they live in a store you can own. If you only ever move the ZIP file, you've moved the least valuable half and left the learning history behind.
People say "we're SCORM, so we're portable" and stop there. A SCORM package is a ZIP with an imsmanifest.xml and some content that talks to an LMS through a JavaScript runtime. Drop it into another SCORM-conformant LMS and the content plays. Good. But every attempt, score, and completion that package recorded lived inside the old LMS's database. It doesn't ride along in the ZIP. Move platforms and the content follows; the history stays behind unless you export it on purpose.
Where each standard actually keeps your data
xAPI (the Experience API, once "Tin Can") changed where the record lives. Instead of reporting into one LMS session, the content sends statements, "learner did this," to a Learning Record Store. That LRS can be one you run. Which means the history is an asset you hold, not a row in a vendor's table you have to request on your way out. Both standards come out of the same lineage that ADL stewarded, so this isn't a fight between rival camps; it's a difference in what leaves with you. (ADL's overview of xAPI)
| Question | SCORM | xAPI |
|---|---|---|
| What's portable | The content package (ZIP) | The content and the records |
| Where records live | Inside the LMS | In an LRS you can own |
| Tracks activity outside a course? | No | Yes |
| Needs a live LMS session? | Yes | No |
| Best when | You need broad LMS compatibility today | You want to own the learning history long-term |
The honest tradeoff
SCORM isn't obsolete, and I won't pretend it is. Its compatibility is the whole point: almost every LMS accepts a SCORM package, so if your near-term job is "get this course running in whatever system a client uses," SCORM is still the pragmatic answer. xAPI asks more of you, an LRS to run, statements to design, and it repays that with ownership and with tracking that reaches past a single course.
If you want the best of the transition, cmi5 is the profile that runs xAPI content through an LMS launch, and it's worth knowing exists. But the decision underneath all of it is the same one that drives a platform move: do you want to keep renting your learning records, or own them? That's the thread through custom LMS development. For where these packages tend to break in a real move, see migrating off Moodle and exporting from Canvas.

Written by Choaib Mouhrach
Founder & Senior Software Engineer
I design and build custom learning platforms for organizations with complex training and certification workflows. Instead of stitching together plugins and third-party tools, I create systems tailored to how each business operates, reducing administrative overhead while improving the learner experience.
Your learning product deserves its own platform.
If you want to deliver a learning experience built around your product, your learners, and your goals, you are in the right place. We build platforms that give you the control and flexibility to grow without limits.