HTML Comment Extractor/Remover - Online Strip Comments
Paste HTML code and extract all comments or remove them completely. See a list of comments found. Clean your markup.
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.
Paste HTML code and extract all comments or remove them completely. See a list of comments found. Clean your markup.
Paste text with highlights (e.g., from Apple Books) and extract only the highlighted lines. Save as list.
Create categorized shopping lists (produce, dairy, meat, etc.). Add items, check them off, and print. Data stored in your browser. Never lose a list.
Search by country or city to find the capital. Full offline list. Useful for homework or travel planning. Static data.
Parse an SVG path’s d attribute and list all the commands and absolute coordinates. Convert relative to absolute. Local.
Test the new HTML popover attribute for creating accessible tooltips, menus, and dialogs without JavaScript. Copy code snippets.
Convert a JSON array of strings or numbers into a single‑column CSV. Quick data dump. Local.
Drop a PDF and count the total words, characters, and pages. Text extraction is done locally. Privacy‑friendly.
Paste an image from your clipboard directly into the page (Ctrl+V) and extract its color palette. No file dialog needed.
Build a complex mailto: link with to, cc, bcc, subject, and body. Get the HTML anchor tag. Local.
Paste HTML and instantly remove all tags, leaving only the text content. Optional keep line breaks. Quick cleaning.
Keep a simple list of movies you want to watch. Add notes and check them off. Purely local storage.
Create a customizable scrolling marquee banner. Copy the HTML and CSS. For retro web projects or fun.
Paste your CSS and get a sorted list of all custom properties defined under :root with their values. Quick audit.
Paste CSV and get a beautiful HTML table with sortable headers (optional). Copy the full HTML/CSS snippet. Local.
Paste an HTML `<table>` snippet and instantly get a clean Markdown table. Supports colspan and alignment hints. Local.
Paste lines of text and automatically convert to an HTML ordered list with correct numbering and indentation.
Enter a URL and see a nested list of all h1‑h6 tags. Check document structure for SEO and accessibility.
Reduce your HTML file size by stripping whitespace, comments, and optional closing tags. Secure browser‑based.
Enter an image URL and extract its dominant color palette. No download needed. Fast visual analysis.
Fetch a website's CSS and extract :root custom properties (‑‑color) to reveal its design token palette. For learning and inspiration.
Paste multiple HTML snippets (header, footer) and a main content, then combine them into a single preview. Static site helper.
Generate random Scattergories‑style lists with a random letter and 12 categories. Great for online game night.
Extract selectable text from a PDF using the browser's built‑in PDF rendering. Copy or download as TXT. No upload, fully private.
Create a weighed pros and cons list with a score. Help make tough decisions. Data saved locally.
Extract specific pages or split a PDF document into multiple files. Works entirely in the browser; your documents never leave your computer.
Search and extract values from a large JSON object using dot/bracket notation. Quickly locate deeply nested fields. Data stays local in your browser.
Strip HTML tags and convert web content to plain Markdown. Preserve headings, lists, and links. Perfect for content migration. All processing in browser.
Write or paste HTML, CSS, and JavaScript and instantly see the rendered output in a sandboxed iframe. A handy frontend prototyping tool.
Write Markdown and see the formatted HTML preview in real time. Syntax highlighting and GitHub-flavored Markdown support. No upload, fully local.