Makes eXeLearning projects (.elpx) lighter: smaller
videos, images, audio and PDFs, in a project that is still editable in eXeLearning. The original is
never touched.
ateeducacion.github.io/elpx-optimizer: drop
your .elpx and download the result. Everything runs in your browser; nothing is uploaded.
npx elpx-optimizer optimize course.elpxdocker run --rm -u $(id -u) -v "$PWD:/work" ateeducacion/elpx-optimizer optimize course.elpxBoth write course_optimized.elpx next to the original. Add --dry-run to see the plan first.
npx needs Node.js 22 and FFmpeg for video and audio; the Docker image includes everything.
All options →
- Recompresses videos, images, audio and PDFs, and the images inside attached ODT and ODP files, and keeps a new version only when it is valid and smaller.
- Finds missing, unused and duplicate files; on request it removes, merges and renames them.
- Refreshes the project thumbnail from its first page, or from an image of your choice.
- Verifies the whole package again before handing it over.
Also as an Agent Skill for AI assistants.
Presets and quality · Web app · CLI · Architecture · Diagnostics · Design decisions · Testing · npm · eXeLearning format · Contributing · Security
AGPL-3.0-or-later. Third-party components keep their licenses; see THIRD-PARTY-NOTICES.md. Made by the Área de Tecnología Educativa of the Government of the Canary Islands, whose logo is not covered by the project's license.
