Skip to content
Run here 100% in your browser, no upload, no login

SVG Path Editor

Parse an SVG path into its commands and edit the numbers, in your browser.

# Command Values Actions

No commands parsed yet.

Subset editor: edit numeric values or delete whole segments. Inserting new commands or editing letters is out of scope.

How to use it

  1. Paste the value of a path element's d attribute into the left panel.
  2. The parser splits it into one row per command — absolute and lowercase relative forms included — with every number in its own field.
  3. Edit any number in the table, or delete a whole segment with its Delete button.
  4. The right panel rebuilds the d string from the table as you change it.
  5. Copy the new d back into your SVG. Invalid numbers are rejected on the spot, and the previous value is restored.

Common use cases

Why it stays private

Parsing and rebuilding happen in your browser's memory. Path data is part of your artwork and assets, and none of it is uploaded.

FAQ

Q: Which commands are supported? A: M, L, H, V, C, S, Q, T, A and Z, in both absolute and relative form, including implicit repetitions (a second coordinate pair after M is treated as L, and repeated parameter groups become separate rows). Arc flags are read one digit at a time as the spec requires.

Q: Can I insert a new command or change a command letter? A: No. This is a subset editor: it edits numeric values and deletes segments. Inserting commands, renaming them or dragging control points needs a full vector editor.

Q: What happens when I type something that is not a number? A: The field is rejected with a message and the previous value is restored, so the rebuilt path always stays parseable.

Your data stays on this device

SVG Path Editor runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.

Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.