Text to Definition List - Online Term/Description HTML Maker
Enter terms and definitions and generate a clean `<dl>` HTML snippet. Great for glossaries and FAQs.
UD5 Toolkit
Extract, list, and analyze all data-* attributes from any HTML snippet or live URL. Instantly view attribute names, values, CSS selectors, and JavaScript dataset keys.
data- that allow you to store extra information on HTML elements without using non-standard attributes or hacks like class or rel. Introduced in HTML5, they provide a clean, valid way to embed arbitrary data. For example, <div data-user-id="42" data-role="admin">. JavaScript can access them via the element.dataset API (e.g., element.dataset.userId returns "42"), and CSS can target them with attribute selectors like [data-role="admin"].
data-. The results are displayed in a structured table showing the element tag, full attribute name, attribute value, a ready-to-use CSS selector, and the corresponding JavaScript dataset camelCase key. You can paste HTML directly or fetch raw HTML from a URL (subject to CORS policies).
getAttribute('data-user-name') returns the raw string value exactly as written in the HTML, preserving the original hyphenated attribute name. dataset.userName uses the camelCase conversion (hyphens become uppercase letters) and returns the value through the DOM's dataset interface. Generally, dataset is more convenient for JavaScript, while getAttribute is useful when you need the exact original attribute name or when dealing with non-standard casing. Note that dataset automatically converts values: data-active="" becomes string "" (not boolean true). Use hasAttribute('data-active') to check for boolean-style presence.
data-, followed by at least one character. The name can contain lowercase letters (a-z), digits (0-9), hyphens (-), and underscores (_). Uppercase letters are technically allowed in the HTML but will be lowercased by the DOM parser. Colons (:) and periods (.) should be avoided as they have special meanings in some contexts. When accessed via dataset, hyphenated names are converted to camelCase: data-my-custom-attr becomes dataset.myCustomAttr. Leading numbers after data- are valid in HTML5 but may cause issues with older browsers.
data-bs-toggle, data-bs-target, data-bs-dismiss). jQuery commonly stores plugin state via data(). Alpine.js uses x-data (inspired by data attributes). HTMX uses attributes like hx-get, hx-post for AJAX. Stimulus (from Basecamp) uses data-controller, data-action, data-target. Turbo uses data-turbo-frame. Understanding what data attributes a framework uses helps in debugging, auditing, and learning how a website is built.
[data-role] selects all elements with the attribute regardless of value; [data-role="admin"] matches exact values; [data-id^="user-"] matches values starting with "user-"; [data-id$="-active"] matches values ending with "-active"; [data-tags~="featured"] matches a word in a space-separated list. document.querySelectorAll('[data-role]') or document.querySelector('[data-user-id="123"]'). With jQuery: $('[data-role="admin"]'). This tool generates ready-to-use CSS selectors for every extracted attribute.
data-src), or analytics tracking metadata. They are safe to use and won't harm SEO. For structured data that search engines should index, use JSON-LD (<script type="application/ld+json">) or microdata attributes instead of data attributes.
data-user-id, data-product-sku) for AJAX calls; Configuration flags (data-auto-play, data-lazy-load); Localization keys (data-i18n-key); Analytics tracking (data-track-event, data-ga-category); Tooltips & popovers (data-tooltip, data-placement); Component state for frontend frameworks; Testing hooks (data-testid, data-cy) for E2E tests with Cypress or Playwright; and Image lazy loading (data-src for JavaScript-driven lazy image loading before native loading="lazy" was widely supported).
document.querySelectorAll('[data-*]') or a dedicated web scraping tool.
Enter terms and definitions and generate a clean `<dl>` HTML snippet. Great for glossaries and FAQs.
Paste lines of text and automatically convert to an HTML ordered list with correct numbering and indentation.
Highlight elements with aria‑describedby and see the linked description text. Verify a11y annotations.
Paste your full CSS and HTML; automatically identify and extract the styles needed for the visible part. Reduce render‑blocking resources.
Paste HTML and see a collapsible tree of tags. Understand document outline and nesting. Handier than raw code.
Paste raw email headers and get a human-readable breakdown of the delivery route, authentication results, and delays. Private analysis.
Type an abbreviation and its full form to get the proper `<abbr title='...'>` HTML. For accessible markup.
Paste CSV data and instantly get a formatted MediaWiki table code. Ideal for Wikipedia editors and internal wikis.
View, edit, and manage JSON objects saved in your browser's localStorage. Delete, export, or import keys. No setup.
Paste raw email headers and see authentication results (SPF, DKIM, DMARC) in a readable table. Find spoofing attempts.
Paste your JSON‑LD or Microdata and test it against Google's Rich Results criteria. Get warnings. Local linter.
Replace long CSS class names with short random strings. Map generated. For production optimization.
Convert normal text to Unicode mathematical bold, italic, script, fraktur, and double‑struck. Copy rich text for anywhere.
Convert any text into JavaScript‑style \uXXXX escape sequences and vice versa. Handles emojis. Useful for i18n development.
Create categorized shopping lists (produce, dairy, meat, etc.). Add items, check them off, and print. Data stored in your browser. Never lose a list.
Convert .srt subtitles to .vtt format for web video players. Preserves all timestamps and formatting. Local.
Add, remove, push, pop items and watch the data structure change visually. Supports arrays, stacks, and queues. For CS students.
Format a list of Q&A pairs and export as a CSV ready for Anki import. Simple line‑based template. Local.
Stack multiple background images and blend them with colors. Create unique textures. Copy the CSS code instantly.
Search for any file extension to see its full name, MIME type, and description. Covers thousands of entries. Static data.
Paste N‑Triples data and convert it to a compact JSON‑LD representation. Work with linked open data. Local.
Paste rich text and clean it to plain text. Normalize line endings and whitespace. Prepare for code or databases.
Browse, edit, and delete keys stored by the idb‑keyval library in your browser. Handy for debugging PWAs.
Enter a simple regular expression and see its equivalent Deterministic Finite Automaton diagram. Learn how regex engines work.
Search by MIME or file extension to see the corresponding type. Helpful when configuring web servers. Static.
Convert WebVTT subtitle files to SRT and vice versa. Handles formatting conversion and encoding. No upload, pure client-side parsing.
Choose the right extinguisher for kitchen, electrical, or garage fires. Interactive class chart. Home safety education.
Enter Braille dot numbers (1‑6) or paste Unicode Braille to decode into English text. Companion to text‑to‑Braille.
Paste your CSS and strip all `!important` declarations in one click. See a list of affected rules. Local tool.
Paste HTML and detect elements with aria‑hidden='true' that contain focusable children. An easy a11y win to fix.