SVGFlow
Open editor

SVG viewer & validator

View an SVG file online and find out what is wrong with it: parse errors with line numbers, a missing viewBox or namespace, duplicate ids, scripts, embedded rasters and missing accessibility names — checked in your browser, never uploaded.

Previewno file
Drop an SVG to inspect
Or paste markup below · max 2 MB
Documentno file
Size
Elements
width / height
viewBox
ids defined
Validate markup
Checksno file
Open an SVG to run the checks.

How it works

The file is parsed with the browser's own XML parser and inspected statically: the document card reads the declared width, height and viewBox, and the checks walk the tree for the failure modes that actually bite — a missing namespace, no viewBox, duplicate ids, scripts and event handlers, embedded rasters, external references, foreignObject, and a missing accessible name. Each finding states the consequence, because "invalid" is less useful than "renders blank in an img tag". Markup that refuses to parse at all can be pasted into the validation box, which surfaces the parser's error with its line and column.

When to use it

When a file renders in one place and not another — the answer is usually in the first three checks. Before committing third-party icons to a repository, to see what you are actually taking on. And as a pre-flight for files heading into an <img>, a favicon or an email, which are exactly the contexts where scripts, external fonts and foreignObject go quietly blank.

Common problems

  • Every check passes and the file still doesn't show. The checks are static — they cannot see geometry drawn outside the viewBox. Open the file in the Resize tool and rebuild the viewBox from the measured bounds.
  • The validator accepts what another tool rejects. Well-formed XML with an svg root is the bar here; a stricter consumer may still object to unknown elements it refuses to ignore. The checks list is the practical subset.
  • Line numbers in parse errors don't match your editor. They count from the start of the pasted markup — a stripped XML declaration or leading blank line shifts them by one.

Notes

  • A file that parses is not necessarily a file that renders where you need it — most checks here are about the second thing.
  • Markup that does not parse at all cannot be opened as a document; paste it into the validation box to see the parser’s error with its line number.
  • The accessibility checks are the short version of the accessible icons guide.

Related tools