Decoupled Drupal Canvas
Last updated on
12 November 2025
Drupal canvas offers two approaches for decoupled frontend development:
1. Canvas Code Components + CLI
- Write components using Canvas's browser-based JS editor (React/JSX)
- Sync components to external projects using @drupal-canvas/cli
- Decoupled rendering of canvas data fetched via API (without any Drupal processing)
- More details: Balint's blog post on decoupled Canvas
2. Canvas External JavaScript Components (canvas_extjs)
- Write JavaScript in any framework (React, Vue, ..) and deploy independently
- Trade-off: Lose Canvas JS editor UI for flexibility on how the JavaScript is written
- Supports both client-side rendering and full SSR
- Works with Lupus Decoupled for fully decoupled page API (processed by Drupal, so e.g. blocks using Views)
- Module: https://www.drupal.org/project/canvas_extjs
Help improve this page
Page status: No known problems
You can:
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion
Still on Drupal 7? Security support for Drupal 7 ended on 5 January 2025. Please visit our Drupal 7 End of Life resources page to review all of your options.