SVG Icon Customizer

Upload SVG, change fill/stroke, color, size, and download.

Settings

Preview

Output

<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="#3b82f6" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/></svg>

What Is an SVG Icon?

SVG (Scalable Vector Graphics) icons are vector-based: they use paths and shapes instead of pixels. Unlike PNG or JPG, SVG scales to any size without losing quality. Icons stay crisp on retina displays and at any zoom level. SVG is the best choice for UI icons because it is lightweight, styleable with CSS, and accessible. Use the SVG to JSX converter to embed icons in React.

How SVG Fill and Stroke Work

fill colors the interior of a shape; stroke colors the outline. stroke-width controls outline thickness. currentColor makes fill or stroke inherit the element's text color, so icons adapt to your theme. Most UI icon libraries (Lucide, Heroicons, Feather) use stroke="currentColor" so you control color via CSS color.

Why Some SVGs Don't Change Color

SVGs that resist color changes often use inline styles (style="fill: #000"), multiple paths with hardcoded fills, or gradients baked into definitions. Simple tools do a root-level replace; they may not reach nested elements or style attributes. For complex icons you may need to edit the SVG source, remove inline styles, or replace fills in each path. Pair with a CSS Gradient Generator if you need gradient fills.

Using SVG Icons in React, Tailwind, and CSS

Inline SVG in HTML: paste the SVG markup and control size via width and height. With currentColor, set color on the parent. In React, use the icon as a component and pass className. In Tailwind: className="w-6 h-6 text-blue-600". In plain CSS: .icon { width: 24px; height: 24px; color: inherit; }. Use fill or stroke in CSS when the SVG uses currentColor.

Common SVG Icon Mistakes

  • Missing viewBox — Without viewBox, the SVG may not scale correctly. Always include viewBox="0 0 24 24" (or the icon's native dimensions).
  • Fixed width/height — Hardcoding width="24" height="24" prevents responsive sizing. Use CSS or omit for flexibility.
  • Inline fill everywhere — Avoid fill="#000" on every path. Use currentColor so icons inherit color.
  • Using PNG instead of SVG — PNG icons pixelate at scale and are harder to style. Prefer SVG for icons.

Combine SVG icons with a Box Shadow Generator or Border Radius Generator when styling icon containers.

Frequently Asked Questions

How do I upload an SVG?

Click 'Upload SVG' and choose an .svg file. The markup will load into the editor. You can then change fill, stroke, and size and copy or download the result.

Why doesn't my SVG change color?

Some SVGs use inline styles or multiple fill/stroke values. The tool does a simple replace on the root fill/stroke. For complex icons you may need to edit the SVG source.

Explore these related free tools to enhance your productivity and workflow.