---
title: "Interactive Content XBlock"
description: "Create self-contained HTML, CSS, and JavaScript activities in Open edX with interaction tracking, grading, completion, and optional AI-assisted authoring."
source: "https://docs.blend-ed.com/interactive-content-xblock/"
---

# Interactive Content XBlock

## What it does
### Flexible authoring

Combine HTML, CSS, and JavaScript in Studio to create a focused quiz, simulation, exploration, or practice activity.

 ### Learner state

Save the latest response, interaction count, timestamp, score, correctness, and feedback separately for each learner.

 ### Grading and completion

Grade in author JavaScript or match answers on the server. Mark completion on submission, after viewing, or from your own JavaScript.

 ### AI-assisted creation

Optionally generate or refine all 4 content fields from a plain-language description, then review and test the result before saving. 
## Requirements
- Python 3.11 or later
- Django 4.2 or 5.2
- Open edX Redwood or later

The current package version is **1.1.0**. The project is **alpha** software and is licensed under AGPL-3.0-or-later.

> **Only allow trusted authors**
> The XBlock renders author HTML and CSS and executes author JavaScript in the LMS page context. Anyone who can edit a block can run code in a learner’s browser. Restrict course authoring access to trusted users and review custom or AI-generated code before publishing it.

## Choose a guide
[Quickstart](/interactive-content-xblock/quickstart/) Install the package, enable the block, and publish a first interaction. [Author content](/interactive-content-xblock/authoring/) Use the browser APIs and follow the runtime constraints. [Grading and completion](/interactive-content-xblock/grading-and-completion/) Configure scores, feedback, answer matching, and completion behavior. [AI generation](/interactive-content-xblock/ai-generation/) Enable the optional Studio generator with an OpenAI-compatible endpoint or custom provider. [Deploy and operate](/interactive-content-xblock/deployment/) Install in Tutor, configure trusted access, inspect learner state, and develop locally. [Changelog](/interactive-content-xblock/changelog/) Review releases, new capabilities, security changes, and fixes.
