Never wonder what changed
in a Storyline course again.
Drop in a .story file (or two versions, or a whole folder) and see what's inside: a readable changelog, health check, quiz answer key, and translator-ready text export in seconds. Runs in your browser. Files never leave your machine.
$25/month after a 7-day free trial · no signup needed for the demo
The demo course is 136 slides, 341 media files, 65MB. Health Check and Compare both finish on it in about a second.
A quiz question quietly flipped both ways: the right answer now scores wrong, and the wrong one now scores right.
What is the “football” hold technique used for in the treatment of infant torticollis?
No upload. No server. Verifiable.
The part everyone assumes is a catch
You do not need a Storyline license.
Just the .story file. No Storyline install, no Storyline seat. Everything below is sorted by what you do.
SME & reviewer
You sign off on courses you can't open
- Compare two versions for a readable changelog
- Quiz answer key export
- Scene-numbered course outline
- Slide-by-slide text export
- Placeholder scan for TODOs and lorem ipsum
- Preview any image or video
- Full-text search across every course, by text or exact image
- Every glossary term & resource
LMS admin
You own the whole course library
- Compare your whole library against a saved baseline
- Tracking vs. quiz-completion mismatch check
- Folder-wide pass/fail policy rules
- Folder-wide settings-consistency check
- Shortest path to completion
- Course settings summary: tracking, pass score, resume
- Estimated seat time
- Run history across revisions
Developer & QA
You ship it, so you own what breaks
- Compare builds, flagging changed triggers and assets
- Orphaned slide checking
- Orphaned layer checking
- Broken jump triggers & references
- Dead air detection: audio or video that ends well before the slide's timeline
- Variable map that flags anything unused
- Full trigger inventory: action and target
- JavaScript triggers, syntax-checked
- Media size & bloat report
- Web Object & interactive shape inventory
- Batch-check whole folders
- Diagnose, and often rebuild, a .story file Storyline refuses to open
Localization & accessibility
You answer for every word and caption
- Compare versions to catch dropped captions or alt text
- Translation Check: untranslated segments, broken variable placeholders, and overflow risk in a Storyline XLIFF export. No course file needed.
- Two-column translation template (TSV), opens straight into Excel or Sheets
- Alt text coverage, slide by slide
- Audio caption coverage, slide by slide
- Caption export to standard .vtt
- Every heading, label, and body line, exported
- Media inventory with sizes, alt text, and audio caption transcripts, per slide
- Library-wide content search, by text or exact image
- Every glossary term & resource
Every one of those runs in your browser, on the file you already have. Try it free on a sample course, no signup →
See exactly what’s inside before it goes live
Real output from real Storyline courses. When the course is safety or compliance training, a wrong answer key or a quietly dropped caption is a liability.
What "a small update" actually changed.
Drop in two versions of a .story file and get a readable changelog in seconds: a changed quiz answer, a course-wide navigation trigger that changed without a note in the update, a slide’s narration sync that got stripped, a new accessibility gap, a question bank swapped out entirely. All the things “I made a small update” tends to leave out, checked on every slide and every layer, not just the ones you remembered to click through.
Catch it before you publish.
Broken jump triggers, orphaned slides and layers, blank or repeated slide titles, oversized media, and JavaScript trigger syntax, all flagged with no previous version required. It walks your own jump triggers for the shortcut that lets a learner reach "course complete" after the fewest slides, skipping most of the content, and flags audio or video that ends before the slide's timeline does. Accessibility checks cover missing alt text and missing audio captions. It also catches inconsistent terminology like "setup" vs "set-up" alongside likely misspellings and repeated words, scores the course's overall readability, estimates where text may overflow its box, and can hold every text box to your own style guide of fonts, sizes, and colors.
Built for the person who's accountable for the whole library.
Point StoryAudit at a folder of .story files and sweep every course for the same issues at once, ranked and ready to triage instead of buried one course at a time. Save a baseline snapshot today, and diff your whole library against it next quarter without keeping a single original file around. Set any of eleven policy rules (broken references, passing score, captions on by default, alt text length, minimum font size, style guide compliance, and more) for a pass/fail table across every course, or run a settings-consistency check that flags any course whose completion tracking, quiz defaults, or Player Properties don't match the rest of the folder. Sweeps up to 200 courses per run, each up to 500MB (split a bigger library into batches). There's no server quota to run into, because there's no server.
Catch the wrong answer before your learners do.
Every Multiple Choice, Multiple Response, True/False, Matching Drag-and-Drop, and Freeform Drag-and-Drop question, correct answers already marked. Sign off on a course’s quiz in minutes instead of a full click-through.
Send a translator the words, not the software.
Every heading, body line, and button label, pulled out in reading order and grouped by slide. Nobody needs a Storyline license just to proofread or fact-check your course. Alt text, caption text, and word/character counts come along in the same file. A two-column translation template (TSV) exports from the same section, and captions export as standard .vtt.
Sign off once and prove it later.
When legal or an auditor asks who approved shipping a course with a known accessibility gap, and when, you export a PDF instead of digging through email. Every finding carries who cleared it, when, and why, right next to what's still open.
Built inside the workflow it audits
I've been building compliance courses in Storyline, and Presenter before it, since 2008. StoryAudit started as the tool I needed for my own review cycles, built to answer the two questions that eat them: what's actually inside this course, and what exactly changed since sign-off. I still run it on my own course work, and because a compliance audit tool is only as good as its accuracy, that's where the engineering effort goes:
- Regression-tested against real courses. Every release runs an automated test suite against a library of real Storyline .story files (real slide XML, real triggers, real quiz structures) before it goes live. When the parser learns a new edge case, that course becomes a permanent test. See how this actually works.
- Nothing to intercept. Your files are parsed locally in your browser and never touch a server, so there's no upload pipeline to fail or leak. Read the security overview.
- Changes in the open. Every release is documented in the public changelog, so you can see exactly what changed in the tool that tells you what changed in your course.
- Honest about limits. When StoryAudit can't determine something from the file, the report says so rather than guessing; an estimate is always labeled an estimate.
- Nothing to get locked into. Every export (reports, changelogs, review records) is a plain file that lands on your computer, not a record trapped in our database. Parsing runs locally in your browser with no server involved; only signing in touches one. If I stopped working on StoryAudit tomorrow, every report you've already exported still opens.
— Eric AllenStoryAudit's founder, and still its most demanding user. Questions this page doesn't answer? Email support@storyaudit.app.
Every reviewer gets their own seat
Most teams have more people reviewing courses than building them, and only the builders have a Storyline seat. A Team plan gives every designer, reviewer, SME, and QA lead their own login (no shared passwords) under one subscription, self-serve, with the same 7-day free trial, so sign-off happens on the real file, not a screen share.
- Self-serve setup in minutes. Name your team, invite people by email, add or remove seats anytime from the team menu in the app header.
- Nothing syncs automatically. That's the same "no file uploads" privacy promise as the individual plan, since there's no server holding your team's data to sync from. To hand off review decisions, export a review-decisions file (waivers and sign-off status) from Health Check or Batch Check, and a teammate imports it in a click.
- No course data ever reaches a server. Files are parsed locally in each person's browser and never uploaded, so the data-security conversation is a short one. The security overview is written to hand straight to your IT or infosec reviewer.
- Procurement-friendly. A data processing addendum and subprocessor list is available to start that conversation. Need an invoice, a purchase order, or a vendor questionnaire answered? Email support@storyaudit.app and it gets handled.
Try it on your worst course. Then decide.
Need something bigger, or have procurement questions? See our Enterprise plan, or read our security overview.
Questions
Does StoryAudit upload my course files anywhere?
No. Every .story file you drop into StoryAudit is parsed locally, in your browser, using JavaScript. Nothing is uploaded to our servers or any third party. That includes the file itself, any report it generates, and any PDF, CSV, JSON, or text export you download from it. Same for Translation Check: the XLIFF file is parsed locally, and the optional machine-drafted translation runs on the translation model built into Chrome or Edge itself, on your device, not sent to a cloud translation service. See the full security overview for the architecture, DPA, and answers to common procurement questions.
Do I need Storyline, or a Storyline subscription, to use it?
No, and neither does anyone you work with. StoryAudit reads the .story file directly in your browser. Builders can use it without opening the authoring tool; reviewers, clients, and compliance teams can use it without ever owning a Storyline license at all. (StoryAudit isn't affiliated with Articulate Global, LLC.) See what's actually inside a .story file, and your other options for opening one.
Storyline says my file is corrupted. Can StoryAudit help?
Often, yes. Storyline's own "file is corrupted" message doesn't say what's actually wrong or how much of the course survived. StoryAudit's free diagnosis tool reads the file at the byte level, tells you the specific cause (a destroyed zip index, a truncated save, or something genuinely unreadable), and reports exactly how many slides survived and how much of the rest of the package came back intact and recoverable. No signup, no upload. See what to do when Storyline says a file is corrupted.
Which versions of Storyline does it support?
Confirmed working with Storyline 2, Storyline 3, and Storyline 360. Day-to-day development and the bulk of testing happens on Storyline 360 courses; backward compatibility with Storyline 2 and Storyline 3 has been separately verified against real client files, not synthetic ones. It needs the original .story project file, not published output (see the next question). If you drop in a file StoryAudit can't read, it tells you immediately; nothing is uploaded and nothing silently half-parses.
Can it audit my published SCORM or xAPI package?
No. StoryAudit audits the source .story project file, not published SCORM, xAPI, or web output. That's deliberate: the answer key, triggers, variables, and accessibility data all live in the source file at full fidelity, before publishing flattens them. If you administer an LMS, ask your course developers for the .story file behind the package. It's a routine request, and worth making "source .story file included" a standard deliverable going forward.
Is there a CLI or API for automated pipelines?
Not yet. It's on the list, and it's the most common automation request. StoryAudit runs entirely in the browser today, which is also what keeps your files on your machine. Until a CLI exists, Batch Check covers most of what a pipeline would: point it at a folder, sweep every course against the same policy rules (like "no broken references"), get a pass/fail table, and export results as CSV for your own tracking. Save a baseline snapshot and diff the whole library against it next quarter. If a CLI would unblock your team, email support@storyaudit.app; it helps to know who needs it, and how badly.
What can I check with one file, two files, or none?
Drop in one .story file for a Health Check (broken references, orphaned content, accessibility gaps, and more) and Course Docs (outline, settings summary, glossary and resources, quiz answer key, text export, media inventory). Drop in two versions of the same course for Compare mode's readable changelog. Point StoryAudit at a whole folder for a Batch sweep across your entire library at once. And Translation Check needs no course file at all: it reads the XLIFF export Storyline produces for translators and flags what came back untranslated, what broke a variable placeholder, or what may not fit.
How big a course, or a folder, can it handle?
The bundled demo course is a real ~65MB Storyline project: 136 slides and 341 media files per version. Health Check and Compare both finish in about a second on it, and you can watch it happen yourself with the no-signup demo. A single course can be up to 500MB, and Batch Check sweeps up to 200 at a time (split a bigger folder into batches); within those, very large files just take longer, since everything runs on your machine instead of a server. Found a file that's unreasonably slow? Email support@storyaudit.app. It becomes a permanent test case.
Can I try it before paying?
Yes: every new account starts with a 7-day free trial. A card is required to start the trial, but you won't be charged until day 8, and you can cancel anytime before then from your account menu, with no partial-month charges. Want to try it with zero commitment first? Try the live demo right now, no signup and no card (best viewed on a desktop browser). It runs the real app on a bundled sample course. Mid-evaluation when the trial ends? Email support@storyaudit.app and it gets extended.
What browsers does StoryAudit work in?
Current versions of Chrome, Edge, Firefox, and Safari. It's best used on a desktop or laptop browser; the app isn't optimized for small screens.
I need this for my whole team. How does that work?
Switch the pricing toggle above to "Team": it's $20/seat/month or $180/seat/year (3-seat minimum), self-serve, same 7-day free trial. Everyone gets their own individual login instead of sharing one account. Whoever sets it up names the team, invites people by email, and can add or remove members any time from the team menu in the app header. Bigger than that, or need invoicing, a purchase order, or a security review handled directly with a person first? Switch the toggle to "Enterprise" instead.
Have a question this doesn't answer, or an idea for a feature?
Email support@storyaudit.app. Every message gets a real, personal reply, not an automated ticket queue. Bug reports, edge cases in your courses, and feature requests are all welcome, and several of the checks on this page exist because a customer asked for them.