Scoped custom element registries
The CustomElementRegistry() constructor creates a new custom element registry that's separate from the global window.customElements registry. Creating more than one registry is useful for multiple custom elements that have the same tag name to coexist.
Status
Limited availability
MDN documentation
Specifications
- HTML (#custom-elements-api), from HTML Workstream (WHATWG).
- DOM (#element-custom-element-registry), from DOM Workstream (WHATWG).
Browser support
- Chrome 146 Released on 2026-03-10
- Chrome Android 146 Released on 2026-03-10
- Edge 146 Released on 2026-03-13
- Firefox ❌ See bugzil.la/1874414 bugzil.la/2018900
- Firefox for Android ❌
- Safari 26 Released on 2025-09-15
- Safari on iOS 26 Released on 2025-09-15
Baseline availability blocked since March 2026 by Firefox (3 months)
Interop
- Included in Interop 2026
Web Platform Tests (WPT)
View the latest WPT test results for this featureDeveloper votes
Do you need this feature?
Let us know by leaving a 👍 reaction on the feedback issue. Don't forget to also leave a comment explaining your specific use case.
Developer use cases
-
We're running a micro frontend architecture with parts of the page composed from different teams' apps at runtime. The parts are independently deployed, and isolated today using a declarative shadow DOM boundary. We also have a shared design system with a web components base. Since every part of the micro frontend shares the global custom element registry, to update the design system when there are breaking changes requires a huge coordination effort that scoped custom element registries would solve.
We're running a micro frontend architecture with parts of the page composed from different teams' apps at runtime. The parts are independently deployed, and isolated today using a declarative shadow DOM boundary. We also have a shared design system with a web components base. Since every part of the micro frontend shares the global custom element registry, to update the design system when there are breaking changes requires a huge coordination effort that scoped custom element registries would solve. [see original comment] -
I have the same use case as above at a cross organizational level at Adobe. It's a major headache not having Scoped Custom Element Registries. But also another use case within a single application that can create dependencies in multiple different versions of a design system within the same app for reasons of reproducibility (consistent reproduction of an old ux even though a new version is available).
I have the same use case as above at a cross organizational level at Adobe. It's a major headache not having Scoped Custom Element Registries. But also another use case within a single application that can create dependencies in multiple different versions of a design system within the same app for reasons of reproducibility (consistent reproduction of an old ux even though a new version is available). [see original comment]
View as JSON | Edit this feature | Report an issue | Web-features entry: source, dist