wicg/html-in-canvas

HTML-in-Canvas is a web platform proposal that enables rendering of HTML content into 2D and 3D canvas elements.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 6 minutes ago
Type:Documentation / SpecificationCategory(s):Graphics, Rendering & 3DDocumentation ToolsMedia, Graphics & Games
Added to GitGenius on September 17th, 2026
Created on August 27th, 2024
Open Issues & Pull Requests: 42 (+0)
GitHub issues: Enabled
Number of forks: 166
Total Stargazers: 4,001 (+0)
Total Subscribers: 56 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 21.0 hours
Mean response time: 35.7 days
90th percentile: 60.0 days
Tracked items: 76

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Roughly one issue in four opened in the past year never receives a reply. 64% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Only 51% of issues opened in the past year have been closed. Three people close 90% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 36
New in 7 days: 4
Closed in 7 days: 4
Avg open age: 129 days
Stale 30+ days: 25
Stale 90+ days: 18

Recent activity

Opened in 7 days: 4
Closed in 7 days: 4
Comments in 7 days: 5
Events in 7 days: 17

Top labels

No label distribution available yet.

Detailed Description

HTML-in-Canvas is a web platform proposal that enables rendering of HTML content into 2D and 3D canvas elements.

The proposal addresses the lack of a web API for drawing complex, styled HTML layouts directly into canvas. Currently, developers must manually recreate text, layout, and styling within canvas, leading to accessibility, internationalization, and performance problems. The solution introduces five primitives: a canvas `content` attribute to opt into drawable mode, a `drawable` attribute on canvas descendants to enable drawing, layout and rendering capabilities, rendering events for DOM-to-canvas synchronization, and geometry update capabilities for canvas-to-DOM synchronization. Canvas descendants in drawable mode are laid out with static positioning and respect CSS and HTML accessibility primitives like aria-hidden, though they initially lack geometry information and hit testing support.

Developers working on chart components, creative tools, in-game menus, or 3D web experiences that need to render rich 2D content should evaluate this proposal. It directly addresses use cases involving styled text in canvas, accessibility maintenance without manual DOM synchronization, applying WebGL shaders to HTML elements, rendering HTML surfaces within 3D scenes, and exporting HTML as images or video. The proposal is currently implemented behind a flag in Chromium, allowing early experimentation.

The project receives issues from both core team members and external users, indicating real-world adoption interest without an overwhelming support burden. Maintainers typically respond to new issues and pull requests within a day.