PIE-QTI

Production-ready QTI 2.x players and a PIE ↔ QTI 2.2 transformation framework.

QTI 2.2 compliant 21/21 interactions Accessibility tested TypeScript strict
Players
Ready
Item + assessment
Transforms
Active
QTI ↔ PIE
Evals
64
49 components + 15 assessment
pie-framework.github.io/pie-qti/examples
QTI player examples

Try the item demo (all interactions) or the assessment demo (navigation, sections, scoring).

Why this exists

Partners exchange assessment content in QTI; modern delivery and authoring often happens in PIE. PIE-QTI provides both: rendering and transformation.

QTI 2.x Players

  • Item player: 21 interaction types, 45 operators, role-based rendering
  • Assessment player: sections, navigation rules, submission modes, scoring
  • Extensible: plugins + registries + custom operators
  • Themable: web components + CSS variable contract

Transforms

  • QTI → PIE: lossless when QTI originated from PIE, best-effort otherwise
  • PIE → QTI: rebuild QTI, generate IMS content packages
  • Tooling: CLI + web app for upload/analyze/transform/preview

Transform App

Upload, analyze, transform, and preview QTI/PIE content.

Transform app screenshot

Quick links

Develop

# Install dependencies
bun install

# Run checks
bun run check

# Preview GitHub Pages build
bun run build:pages
bun run preview:pages