designesy.org/m3-bridge5 checksDTCG 2025.10converted in your browsertoken contract
M3 to DTCG bridge
Paste Material 3 tokens, as CSS or JSON, and get W3C DTCG 2025.10 back: typed, structured and checked.
- lines read
- tokens parsed
- types found
- checks pass
- --md-sys-color-*
- Color tokens, written as colorSpace and components.
- --md-sys-shape-*
- Corner radii, as dimension tokens.
- --md-sys-motion-*
- Durations and easing curves.
- --md-sys-typescale-*
- Type sizes, weights and line heights, each typed from its own value.
The converted file, checked against the W3C format.
Paste Material 3 tokens, or load the sample, and convert. The converted file lands here.
Paths follow the names: --md-sys-color-primary becomes color.primary.
- pass
- needs work
- fail
- does not apply
Method
Read the tokens
--md-*custom properties from CSS, ormd.*keys from a JSON file.Map the paths
Each name becomes a DTCG path:
--md-sys-color-primarybecomescolor.primary.Type the values
Colors, dimensions, durations, easing curves, numbers and font families, each with its $type.
Validate
Five checks against the DTCG format, before you download the file.
valid = all five checks passColors are written as colorSpace and components, never as bare hex.
Why it exists
Material 3's own token export, the Design System Package, was archived on 17 October 2024, and it never wrote the W3C DTCG format. No replacement has been announced.
Google's DESIGN.md project does export DTCG, through npx @google/design.md export --format dtcg, and the two projects do not share a token format. This bridge carries M3 tokens across, then checks the result against the standard.