Understanding SVG Path Syntax: The d Attribute Demystified
The cryptic d attribute in SVG paths (M, L, C, Q, A, Z) explained command by command, with the absolute vs relative rule and how curves actually work.
Make vectors production-ready, optimize, convert, generate and inspect SVG: shrink files, produce React components or data URIs, trace raster art, craft blobs and waves.
30 tools available
Open, paste or drop an SVG to view it on a checkerboard, light or dark canvas with zoom, live dimensions, a source-code pane and a full element/color report: 100% in your browser, nothing uploaded.
Edit SVG code with an instant live preview: type in the source pane and watch it render, then Format, Optimize or Minify in one click. A live inspector counts elements, colors and features, all in your browser, nothing uploaded.
Minify and clean SVG files in your browser with SVGO, strip editor metadata, round coordinates, drop hidden layers and see the exact bytes and percentage saved. Nothing is uploaded.
Aggressively minify SVG online: collapse whitespace, strip comments, metadata and editor namespaces, and squeeze markup to a single line with a live before/after size and % saved. 100% in your browser.
Beautify minified or single-line SVG source into clean, indented, human-readable markup, one element per line with a tab or space width you choose. Runs entirely in your browser. Nothing is uploaded.
Compress SVG in your browser and see the real transfer size, optimized bytes plus estimated gzip and Brotli payloads, the numbers that actually cross the wire. Nothing is uploaded.
Shrink an SVG to a target size with a precision slider and a live byte + gzip trade-off meter. Round coordinates decimal-by-decimal, watch the file get lighter, and confirm the artwork holds, all in your browser.
Format and indent SVG source in your browser, turn a minified one-liner into clean, diff-friendly markup with consistent indentation and one element per line. Nothing is uploaded, and no data is removed.
Validate SVG online. Check well-formedness, xmlns and viewBox, dimension sanity, and flag <script>, on* handlers, <foreignObject> and javascript: XSS vectors. A pass/fail checklist plus composition report, all in your browser.
Convert SVG to a clean React component in your browser, camelCased attributes, TypeScript or JS, memo, forwardRef and React Native output, with a live preview. Nothing is uploaded.
Convert SVG to a clean Vue 3 Single-File Component in your browser, a <script setup> SFC with attributes intact and $attrs pass-through, TypeScript or JavaScript, plus a live preview. Nothing is uploaded.
Convert SVG to ready-to-paste HTML in your browser: a clean inline <svg> block, or a self-contained <img> with a data-URI src. Live preview, copy and download, nothing uploaded.
Convert SVG to a CSS background-image or mask rule in your browser: a compact URL-encoded data URI with a ready selector snippet, live preview and one-click copy. Nothing is uploaded.
Convert SVG to a data: URI in your browser, URL-encoded or base64, and copy it as a CSS background, an inline <img src>, or the raw URI, with a live size comparison. Nothing is uploaded.
Decode a data:image/svg+xml URI back into raw SVG in your browser, handles base64 and URL-encoded payloads, with a live preview and one-click.svg download. Nothing is uploaded.
Convert SVG to PNG in your browser at any resolution. Pick a 1×–8× scale or exact pixel size, keep transparency or set a background color, preview live and download. Nothing is uploaded.
Convert PNG, JPG or WebP to SVG in your browser: trace a raster image into clean, scalable vector paths with adjustable colors and detail, then copy or download the SVG. Nothing is uploaded.
Detect every color in an SVG and recolor it live: fills, strokes and gradient stops become clickable swatches you can remap with a picker or hex, with an instant preview. Bulk-replace, swap to currentColor and export, all in your browser, nothing uploaded.
Edit an SVG path d-string with a live outline preview, anchor and control-point overlays, a command-by-command breakdown, and one-click absolute/relative normalisation: all in your browser, nothing uploaded.
Paste an SVG path d attribute to see its outline drawn with anchor points, bezier control handles and start/end markers, plus a live report of length, bounding box, subpaths and a per-command breakdown, all in your browser.
Combine multiple SVG icons into one <symbol> sprite sheet, with a ready <use> snippet for each icon. Drop your SVGs, name them, download the sprite. 100% in your browser, no build step.
Normalize a batch of SVGs into one consistent icon set (uniform viewBox, size, stroke and currentColor) then export a sprite or each cleaned icon. Or build simple icons from shape presets. 100% in your browser.
Animate any SVG in your browser. Pick a preset (spin, pulse, bounce, fade, draw-line, morph), tune duration, easing and iterations, watch it live, then copy a self-contained animated SVG or the CSS keyframes. Nothing is uploaded.
Design linear, radial and conic gradients with draggable color stops and an angle dial, then export a scalable SVG and a ready-to-paste CSS background side by side. Live preview, copy, download SVG/PNG: 100% in your browser.
Generate full-bleed hero and section backgrounds as clean SVG: mesh gradient, dots, grid, waves or blob styles with your brand colors, opacity and density, plus a reproducible re-roll. Copy the SVG or CSS, download SVG/PNG. 100% in your browser.
Create seamless, tiling SVG background patterns (dots, grid, diagonal lines, cross, chevron, triangles and circles) with tile-size, color and stroke controls, then copy the SVG or ready-to-paste CSS. 100% in your browser.
Generate layered SVG wave dividers for section transitions: sliders for height, amplitude, wave count and layers, per-layer colors or a gradient, and a flip toggle, then copy the SVG or download SVG/PNG. 100% in your browser.
Generate smooth, organic SVG blob shapes with sliders for complexity, edge contrast and size, solid or gradient fills, and a seeded re-roll, then copy the SVG or download SVG/PNG. 100% in your browser.
Generate crisp geometric SVG shapes (polygons, stars, gears, hearts, sunbursts, hexagons and badges) with controls for sides/points, radius, inner radius and rotation, plus solid or gradient fill. Copy the SVG or download SVG/PNG, 100% in your browser.
Generate lightweight SVG placeholder images for prototyping: set width, height, a custom label and background/foreground colors, then copy the SVG, grab a data URI, or download SVG/PNG. 100% in your browser.
Vectors are the one asset you can scale forever without losing a pixel, but the SVG a designer exports is rarely the SVG you want to ship. Paste your markup or drop a file, and watch it shrink, convert, re-color or render live in the same tab. Everything is measured, diffed and copy-ready, so what leaves here is smaller, cleaner and framework-native.
Browse the 30 tools grouped by what they do.
Open, paste or drop an SVG to view it on a checkerboard, light or dark canvas with zoom, live dimensions, a source-code pane and a full element/color report: 100% in your browser, nothing uploaded.
Edit SVG code with an instant live preview: type in the source pane and watch it render, then Format, Optimize or Minify in one click. A live inspector counts elements, colors and features, all in your browser, nothing uploaded.
Detect every color in an SVG and recolor it live: fills, strokes and gradient stops become clickable swatches you can remap with a picker or hex, with an instant preview. Bulk-replace, swap to currentColor and export, all in your browser, nothing uploaded.
Edit an SVG path d-string with a live outline preview, anchor and control-point overlays, a command-by-command breakdown, and one-click absolute/relative normalisation: all in your browser, nothing uploaded.
Paste an SVG path d attribute to see its outline drawn with anchor points, bezier control handles and start/end markers, plus a live report of length, bounding box, subpaths and a per-command breakdown, all in your browser.
Minify and clean SVG files in your browser with SVGO, strip editor metadata, round coordinates, drop hidden layers and see the exact bytes and percentage saved. Nothing is uploaded.
Aggressively minify SVG online: collapse whitespace, strip comments, metadata and editor namespaces, and squeeze markup to a single line with a live before/after size and % saved. 100% in your browser.
Beautify minified or single-line SVG source into clean, indented, human-readable markup, one element per line with a tab or space width you choose. Runs entirely in your browser. Nothing is uploaded.
Compress SVG in your browser and see the real transfer size, optimized bytes plus estimated gzip and Brotli payloads, the numbers that actually cross the wire. Nothing is uploaded.
Shrink an SVG to a target size with a precision slider and a live byte + gzip trade-off meter. Round coordinates decimal-by-decimal, watch the file get lighter, and confirm the artwork holds, all in your browser.
Format and indent SVG source in your browser, turn a minified one-liner into clean, diff-friendly markup with consistent indentation and one element per line. Nothing is uploaded, and no data is removed.
Validate SVG online. Check well-formedness, xmlns and viewBox, dimension sanity, and flag <script>, on* handlers, <foreignObject> and javascript: XSS vectors. A pass/fail checklist plus composition report, all in your browser.
Convert SVG to a clean React component in your browser, camelCased attributes, TypeScript or JS, memo, forwardRef and React Native output, with a live preview. Nothing is uploaded.
Convert SVG to a clean Vue 3 Single-File Component in your browser, a <script setup> SFC with attributes intact and $attrs pass-through, TypeScript or JavaScript, plus a live preview. Nothing is uploaded.
Convert SVG to ready-to-paste HTML in your browser: a clean inline <svg> block, or a self-contained <img> with a data-URI src. Live preview, copy and download, nothing uploaded.
Convert SVG to a CSS background-image or mask rule in your browser: a compact URL-encoded data URI with a ready selector snippet, live preview and one-click copy. Nothing is uploaded.
Convert SVG to a data: URI in your browser, URL-encoded or base64, and copy it as a CSS background, an inline <img src>, or the raw URI, with a live size comparison. Nothing is uploaded.
Decode a data:image/svg+xml URI back into raw SVG in your browser, handles base64 and URL-encoded payloads, with a live preview and one-click.svg download. Nothing is uploaded.
Convert SVG to PNG in your browser at any resolution. Pick a 1×–8× scale or exact pixel size, keep transparency or set a background color, preview live and download. Nothing is uploaded.
Convert PNG, JPG or WebP to SVG in your browser: trace a raster image into clean, scalable vector paths with adjustable colors and detail, then copy or download the SVG. Nothing is uploaded.
Combine multiple SVG icons into one <symbol> sprite sheet, with a ready <use> snippet for each icon. Drop your SVGs, name them, download the sprite. 100% in your browser, no build step.
Normalize a batch of SVGs into one consistent icon set (uniform viewBox, size, stroke and currentColor) then export a sprite or each cleaned icon. Or build simple icons from shape presets. 100% in your browser.
Animate any SVG in your browser. Pick a preset (spin, pulse, bounce, fade, draw-line, morph), tune duration, easing and iterations, watch it live, then copy a self-contained animated SVG or the CSS keyframes. Nothing is uploaded.
Design linear, radial and conic gradients with draggable color stops and an angle dial, then export a scalable SVG and a ready-to-paste CSS background side by side. Live preview, copy, download SVG/PNG: 100% in your browser.
Generate full-bleed hero and section backgrounds as clean SVG: mesh gradient, dots, grid, waves or blob styles with your brand colors, opacity and density, plus a reproducible re-roll. Copy the SVG or CSS, download SVG/PNG. 100% in your browser.
Create seamless, tiling SVG background patterns (dots, grid, diagonal lines, cross, chevron, triangles and circles) with tile-size, color and stroke controls, then copy the SVG or ready-to-paste CSS. 100% in your browser.
Generate layered SVG wave dividers for section transitions: sliders for height, amplitude, wave count and layers, per-layer colors or a gradient, and a flip toggle, then copy the SVG or download SVG/PNG. 100% in your browser.
Generate smooth, organic SVG blob shapes with sliders for complexity, edge contrast and size, solid or gradient fills, and a seeded re-roll, then copy the SVG or download SVG/PNG. 100% in your browser.
Generate crisp geometric SVG shapes (polygons, stars, gears, hearts, sunbursts, hexagons and badges) with controls for sides/points, radius, inner radius and rotation, plus solid or gradient fill. Copy the SVG or download SVG/PNG, 100% in your browser.
Generate lightweight SVG placeholder images for prototyping: set width, height, a custom label and background/foreground colors, then copy the SVG, grab a data URI, or download SVG/PNG. 100% in your browser.
The habits behind every tool here, so your vectors stay tiny, crisp and easy to animate long after export.
A raw export from Figma or Illustrator carries editor metadata, needless coordinate precision and empty groups that can double the byte count. Running it through an optimizer removes the invisible cruft without touching how the shape looks, often a 60–80% saving on a single icon.
Drop fixed width and height attributes and keep a clean viewBox, and your SVG stretches to fill any container while staying crisp. Getting the viewBox right is the difference between a graphic that scales gracefully and one that clips or distorts.
Swapping hard-coded fills for fill="currentColor" lets an inline SVG icon pick up the surrounding text color automatically: one asset that recolors itself in light mode, dark mode and on hover, with zero extra CSS.
Converting markup into a React or Vue component lets you animate paths, respond to props and style with CSS. None of which is possible when the same graphic is loaded through an <img> tag or a background image. It also removes an extra network request.
Auto-traced or hand-drawn paths often carry far more anchor points than the shape needs. Simplifying the path data keeps the outline visually identical while making the file lighter and any morph or draw animation dramatically smoother.
Encoding a small SVG as a data URI inlines it directly into your CSS or HTML, saving a round-trip for tiny icons. Prefer URL-encoding over Base64 for SVG (it stays smaller and human-readable), and keep it for small assets, large ones bloat the stylesheet instead.
Tutorials and tips for getting more from our svg studio.
The cryptic d attribute in SVG paths (M, L, C, Q, A, Z) explained command by command, with the absolute vs relative rule and how curves actually work.
What an SVG data URI is, why URL-encoding beats base64 for vectors, and how to inline SVG into CSS and HTML without an extra request, plus when NOT to inline.
A friendly introduction to animating SVG: moving and colouring shapes with CSS, the line-drawing trick, SMIL animation, and when to reach for each approach.
Organic blobs and section-divider waves are everywhere in modern web design. The steps they're built with SVG paths, how to generate them, and how to use them without hurting performance.
A practical guide to SVG gradients and patterns: how linearGradient, radialGradient, and the pattern element actually work, with tips for smooth stops, banding, and reusable fills.
Icon fonts had their moment, but inline SVG and SVG sprites have overtaken them for accessibility, rendering quality and control. Here's an honest comparison.
Free, private and instant: everything runs in your browser.