HTML Template Element Demo - Online Clone & Use
Use the <template> tag to hold hidden HTML that is cloned and injected by JavaScript. Common pattern.
UD5 Toolkit
The <selectlist> is a proposed new HTML element from the
Open UI Community Group, designed to replace the traditional
<select> with fully styleable, rich dropdown components —
supporting icons, descriptions, avatars, and more.
Each option shows an avatar, name, and role — mimicking what <selectlist> enables natively.
none
<select>.
Rich country selector with flags, country codes, and regions — great for forms and checkout flows.
none
<select> can't display flag emojis or rich metadata per option — <selectlist> solves this.
❌ Traditional <select> (limited)
<select>
<option value="alice">Alice Kim</option>
<option value="sarah">Sarah Chen</option>
</select>
<!-- No icons, descriptions, or rich content -->
✅ Proposed <selectlist> (rich)
<selectlist>
<option>
<img src="avatar.png">
<strong>Alice Kim</strong>
<small>Designer</small>
</option>
<option value="sarah">...</option>
</selectlist>
The <selectlist> element (previously called <selectmenu>) is being developed by
Open UI — a W3C Community Group. It allows full CSS styling of every part of the dropdown,
including the button, listbox, options, and optgroups — something impossible with native <select>.
<selectlist> element?
<selectlist> is a proposed new HTML element from the Open UI Community Group (a W3C group). It aims to replace the traditional <select> dropdown with a fully customizable, styleable component. Unlike native <select> — which is rendered by the OS and almost impossible to style consistently — <selectlist> would allow developers to insert any HTML content into options (icons, avatars, descriptions, badges) and style every sub-part with CSS.
<selectlist> today?
As of 2024-2025, no major browser has shipped <selectlist> in stable releases. It is currently an experimental proposal. Chrome has shown the most interest with an origin trial behind a flag (chrome://flags#enable-experimental-web-platform-features). The demo above uses a custom JavaScript implementation to simulate the same rich-select experience that <selectlist> would provide natively.
<selectlist> better than custom select libraries?
Custom select libraries (like Select2, Choices.js, or React Select) require JavaScript and often have accessibility gaps. A native <selectlist> would provide:
<form>, FormData, and validation APIs.<selectlist>?
The proposed anatomy includes these named parts, each styleable via ::part() pseudo-elements:
<selectlist> in production right now?
Not recommended for production yet. Since no browser has shipped it in a stable release, you should use a custom implementation (like the demos above) or a well-tested library (Select2, Choices.js, react-select) for rich select functionality. Keep an eye on the Open UI website and Chrome's origin trials for updates on <selectlist> availability.
<selectlist> solve?
The native <select> has been a major pain point for web developers for over 20 years:
<option> elements.Use the <template> tag to hold hidden HTML that is cloned and injected by JavaScript. Common pattern.
Build an accessible modal using the native <dialog> element. Customize backdrop, content, and open/close logic. Copy the code.
Write or paste HTML, CSS, and JavaScript and instantly see the rendered output in a sandboxed iframe. A handy frontend prototyping tool.
Write HTML, CSS, and JavaScript in separate panes and see the result in real time. Store your snippets locally.
Generate a complete <head> section with meta charset, viewport, SEO, favicon, and social tags. Customize and copy.
Design custom unordered and ordered lists with images, strings, or counters. Preview and copy the CSS.
Design a custom counter style with symbols, range, and speak‑as. Preview ordered lists with your new style. Export the CSS rule.
Add columns with types and constraints, then generate a SQL CREATE TABLE statement. Supports MySQL/PostgreSQL.
Get a clean, commented JS plugin skeleton with IIFE or ES module pattern. Start your new library faster.
Compare visibility: hidden vs display: none. See how each affects layout and event listeners. Inline code.
Drag items into grid cells and see the resulting grid‑area or line‑based placement code. Learn how auto‑placement and spanning work.
Generate cryptographic key pairs using the Web Crypto API. Export as JWK or raw. No server needed; pure security.
Write SSML to control pitch, speed, and breaks. Play the generated speech with the browser’s TTS engine. Learn SSML.
Fill in bio, skills, projects to generate a clean HTML portfolio page. Copy the code. Local builder.
Paste an HTML snippet and get a report on missing, empty, or suspicious alt texts. Improve your image SEO and a11y.
Select trip type (beach, business, camping) and get a pre-filled packing checklist. Customize and print. Local storage.
Upload a logo to embed in the center of a QR code. High error correction so it still scans. Download PNG/SVG.
Convert an SVG shape into a CSS mask‑image. Transparent regions become masked. Great for custom image crops. Client‑side.
Place rectangular pattern pieces on a virtual fabric width to optimize cutting layout and reduce waste. Simple manual drag & drop. Local only.
Paste lyrics and tap while the song plays to embed timestamps. Export as .lrc file for music players. All in browser.
Add items with category, color, season. Plan outfits. Drag and drop. Stored locally.
Generate random license keys or serial numbers in various formats (XXXX-XXXX-XXXX). Useful for software activation testing. Local generation.
Paste a list of URLs or texts and generate QR codes all at once. Download as individual images or a single sheet.
Combine random character, setting, conflict, and genre to generate unique story prompts. Over 10,000 possible combinations. Perfect for overcoming writer's block.
Generate encrypted passwords for .htaccess basic authentication. Create .htpasswd entries using bcrypt, MD5, or SHA. Server admin utility, local compute.
Build a 3D card flip effect and toggle backface‑visibility. See the hidden back face. Copy the complete CSS.
Convert between square meters, square feet, acres, hectares, and more. Essential for real estate and land measurements. Instant results, private data.
Generate random, secure coupon codes with a prefix. Choose length and character set. Perfect for store admins. All local.
Upload multiple SVGs and combine them into a single SVG sprite sheet with `<symbol>` and `<use>`. Fast icon system.
Trim a video clip and convert it into an animated GIF. Adjust frame rate and size. Processing stays on your computer for privacy.