Description
Browse the tool.io SVG icon set and learn how to choose, label, and implement functional interface icons without creating accessibility ambiguity.
This gallery lists the current first-party functional icons used in tool.io interfaces. Filter by an icon name, identifier, or related term to find actions such as copy, search, share, visibility, and navigation. Each stable identifier uses lowercase kebab-case so it can remain consistent across web, mobile, desktop, and generated framework packages.
The gallery deliberately excludes the tool.io logo, which belongs in the separate brand repository, and programming-language or platform marks that still require a brand-similarity and provenance review. That boundary prevents a functional icon package from implying ownership of third-party trademarks.
Choose icons by meaning, not resemblance
Select the icon whose documented action matches the control. Similar-looking symbols can represent materially different behavior: launch opens another context, open-in-full enlarges the current view, and arrow-right moves through navigation. Filled favorite and like variants are state indicators rather than decorative alternatives; use them only when the corresponding state is active.
- Use close to dismiss a surface, not as a general delete action.
- Use visibility-off when the user can reveal hidden content; do not substitute it for permanent removal.
- Keep state pairs such as favorite and favorite-filled the same size and position so activation does not shift the interface.
- Test detailed drawings at the actual rendered size; a recognizable 48-pixel preview can become unclear at 16 pixels.
Label icon controls accessibly
An icon does not provide a reliable accessible name by itself. Give every icon-only button or link a concise name that describes the action, such as “Copy code” or “Open settings,” and hide the decorative SVG from assistive technology. When an icon appears beside visible text that already names the action, the SVG should also remain decorative so the label is not announced twice.
Do not use an internal identifier such as stats2 as the user-facing label. Accessible names should describe the result of activating the control, while identifiers exist for developers and package stability. Unfamiliar actions should retain visible text or a persistent label rather than relying only on a tooltip.
Source files, variants, and current status
SVG is the canonical source format. Most interface artwork uses currentColor so the consuming interface controls its color, while dimensions and viewBox values preserve the drawing coordinate system. Temporary numbered identifiers such as stats2 still require a final semantic naming decision; avoid treating those identifiers as a permanent public package API until the icon repository publishes its first stable exports.
Use the linked GitHub repository to inspect the canonical SVG source, licensing information, and future package exports. The gallery consumes the same source files rather than maintaining another copy inside the web page.1
References
-
tool.io icons source repository — tool.io