My checkmark turned into a solid blob. Is that a bug?
No, it is the honest result of what this tool does. A checkmark is an open path drawn with a stroke; filling it means filling the region its two line segments enclose. Only closed shapes survive a stroke-to-fill recolor intact. For an open path you need real outlining, which requires path-offset math this tool deliberately does not attempt.
When is this conversion actually the right move?
When an icon set ships as strokes and you need fills: for example, so the shape can be used as a CSS mask, so it can be filled with currentColor without stroke-width scaling issues, or so a font or cutting-machine tool that ignores strokes can read it. It is also the fast way to strip stroke-width, stroke-linecap, and stroke-linejoin noise out of exported markup.
Why did nothing change when I pasted my SVG?
Either every shape already uses fill, or the stroke is coming from a CSS class or a <style> block rather than from a stroke attribute or an inline style. The tool only reads stroke from those two places, and it reports how many shapes it converted so you can tell the difference.
How do I do a real stroke-to-outline conversion instead?
Use a vector editor. Inkscape has Path, Stroke to Path; Illustrator has Object, Path, Outline Stroke; Figma has Outline Stroke. Those compute the offset geometry so a 2px line becomes a 2px-wide filled shape. Then paste the resulting fill-only SVG anywhere you like.
Is my SVG uploaded when I paste it here?
No. The transform is a pure text-in, text-out function running in the page. Nothing is sent anywhere, which matters if the icon is from an unreleased product.
Does it handle groups?
It treats <g> as a shape tag, so a stroke set on a group is moved to fill on that group. Since fill and stroke both inherit, that usually does the right thing, but any child that sets its own stroke is converted separately.