{{ summaryTitle }}
{{ summaryValue }}

{{ summaryLine }}

Input:{{ resultsReady ? resolvedFormatLabel : '—' }} Paths:{{ resultsReady ? computation.values.path_count : '—' }} Processing:Local only
{{ summaryAnnouncement }}
Valid path data appears here Start End
SVG path editing inputs
Auto resolves to Complete SVG when the source contains SVG markup; otherwise it resolves to Path data only.
Paste markup or path data, or load one SVG up to 512 KiB. Active content and external references are removed.
{{ sourceMeta }}
{{ sourceActionHint }}
The command editor and transform below apply only to this path.
Supports M, L, H, V, C, S, Q, T, A, and Z in absolute or relative notation.
Leave empty for no transform. Multiple valid transform functions may be combined.
Automatic is neutral and emits up to six decimal places without display-only trailing zeros.
{{ sourceExportStatus }}
{{ computation.values.edited_svg }}
{{ chartExportStatus }}

The chart renderer is unavailable. The same command counts remain available in the ledger.

{{ ledgerExportStatus }}
#CommandNotationParametersEndpointCopy
{{ row.index }}{{ row.command }}{{ row.notation }}{{ row.parameters }}{{ row.endpoint }}
Validation notes
{{ note.title }}

{{ note.body }}

Introduction:

An SVG path describes an outline as a sequence of drawing instructions. A move command sets a starting point, line and curve commands extend the outline, an arc follows part of an ellipse, and a close command returns to the current subpath's start. The same path can be filled, stroked, transformed, and scaled without storing a grid of pixels.

Uppercase commands use absolute coordinates measured from the SVG coordinate system. Lowercase commands are relative to the current point. That distinction changes the meaning of every number that follows. For example, L 20 10 ends at coordinate 20,10, while l 20 10 moves 20 units right and 10 units down from the current point.

SVG path command families and their roles
FamilyCommandsPurpose
Move and lineM L H VStart a subpath or draw straight segments
Cubic curveC SDraw Bézier curves with control points
Quadratic curveQ TDraw curves with one control point per segment
Arc and closeA ZDraw an elliptical arc or close the current shape

Path data is only one part of an SVG document. Transforms can move, scale, rotate, skew, or remap the path after its coordinates are read. Styles, gradients, masks, and clipping can also affect the visible result. Editing one path therefore needs both a geometry check and a document check.

SVG markup can contain active content and external references. A conservative editing copy may remove scripts, event attributes, foreign elements, external URLs, and unsupported features before any path is changed. That improves safety but can alter the appearance of a complex source, so sanitization warnings must be reviewed alongside the edited geometry.

Decimal precision creates another tradeoff. Fewer decimal places make path data shorter but can shift points or flatten small details. Automatic precision preserves up to six decimal places without adding display-only trailing zeros; deliberate rounding should be checked at the final display size.

How to Use This Tool:

Load a complete SVG when surrounding styles and shapes matter, or enter path data alone for a focused geometry edit.

  1. Choose Auto detect, Complete SVG, or Path data only, then paste source text or load one SVG no larger than 512 KiB.
  2. When the document has several paths, select the Path to edit. Other accepted paths remain in the sanitized document.
  3. Edit Path data with supported absolute or relative commands. If validation reports a missing parameter or invalid arc flag, correct that command before continuing.
  4. Add an optional Path transform, then choose Serialization precision. Leave Automatic selected unless a fixed decimal policy is required.
  5. Compare the edited preview, command ledger, endpoint anchors, and sanitization notes before copying or downloading the SVG.

Interpreting Results:

The edited preview is the main visual check, while the command ledger shows how the selected path was parsed. Uppercase and lowercase counts reveal whether the path mixes absolute and relative notation. Endpoint anchors help trace segment order, but they are not a mathematically exact curve boundary.

Read sanitization notes before trusting visual similarity. Removed elements or attributes can affect paint, clipping, masks, gradients, or transforms even when the selected path remains valid. A clean syntax result means the accepted path commands can be serialized; it does not prove that the artwork is accessible, optimized, or visually identical to the source.

When fixed precision is used, zoom in on small curves and joins. A shorter serialized path can still be the wrong result if rounded control points change the intended shape.

Technical Details:

SVG path data is tokenized into command letters and finite decimal numbers. Each command consumes a fixed number of parameters per segment. Repeated coordinate pairs after the first moveto are interpreted as line segments, and each path must begin with M or m.

Transformation Core:

SVG path command parameter counts
CommandValues per segmentValues describe
M L T2Endpoint x and y
H V1Horizontal or vertical endpoint
C6Two control points and one endpoint
S Q4Control data and one endpoint
A7Radii, rotation, two binary flags, and endpoint
Z0Close the current subpath

Arc large-arc and sweep flags must each be 0 or 1. Numeric values must be finite and fall between -10,000,000 and 10,000,000. A selected path may contain at most 500 commands, while a complete document may contain at most 128 paths and 1,200 path commands in total.

Transforms are accepted only as well-formed sequences of matrix, translate, scale, rotate, skewX, or skewY functions with the correct number of numeric arguments. Transform text is applied to the selected path without rewriting its coordinates.

Serialization rounds coordinates to zero through six decimal places when a fixed precision is selected. Automatic mode uses six-place rounding while dropping trailing zeros. A path such as M 2 2 c 1 0 2 2 4 4 starts at 2,2 and ends the relative cubic segment at 6,6.

Sanitization Mechanism:

Complete SVG input is parsed as XML and reduced to a conservative set of SVG structure, shape, gradient, clip-path, and mask elements. Event attributes, active content, external references, data URLs, unsafe identifiers, invalid transforms, entity declarations, and unsupported elements or attributes are removed or rejected. The edited path data and transform are then inserted into the sanitized document and XML-escaped.

No Formula Core is included because path editing is governed by grammar, parameter mapping, coordinate accumulation, and serialization rather than one numeric equation.

Privacy and Safety Notes:

The SVG source stays in memory in the current browser tab and is not uploaded. Path-edit settings may be represented in page state, but the complete local document is not shared that way.

  • DOCTYPE and entity declarations are rejected.
  • Documents with more than 2,000 elements or 128 paths are rejected.
  • Unsupported content is not preserved, even when it is harmless in the source.
  • The editor changes existing path geometry; it does not convert shapes to paths, draw freehand, optimize markup, or trace raster images.

References: