Tutorial — you have an address
How to download an SVG from a URL
A URL is not a file. Sometimes it points straight at a vector, sometimes it points at a page that draws one, and the two need completely different handling — which is why paste-a-URL tools work about half the time.
Watch it — 22 seconds
From address bar to saved file
vectorly.io/icons — no file extension anywhere. The vector comes out anyway.Notice what the address bar says in the recording. There is no .svg in it, and there does not need to be: the scan reads what the page rendered, not what the URL promises.
What the recording shows
- Open the URL that holds the vector
- Click the toolbar button — it reads the live page
- The address bar has no .svg in it. It does not need one.
- Page to the vector you came for
- Name the file before you save it
- Download current — the real markup, from that URL
- Saved as star.svg. Sharp at any size.
The distinction that matters
Two completely different things get called "an SVG URL"
Before anything else, work out which of these you actually have — the right method is different for each, and this is where most people get stuck.
- A direct URL to a vector file, ending in
.svg, often on a CDN. Open it in a tab and you see the graphic on a blank white background with nothing else. This one your browser can save on its own — Ctrl/Cmd+S works fine, though it may save under an unhelpful name. - A URL to a page that draws vectors. Almost every real URL is this one. The address ends in
/iconsor/pricingor nothing at all, and the graphics you want are inline markup inside the HTML the page returns. There is no file at any address to fetch, so there is nothing to save directly.
Paste-a-URL converter sites only ever handle the first case, which is why they so often come back with an error or with the page's HTML renamed to .svg. They fetch the address; they do not render it.
Saving from a page URL
This is the second case — the common one. The trick is to stop treating the URL as a file and let the page render first.
- Open the URL in a tab. Let the page finish loading. This matters more than it sounds: icons injected by JavaScript after load are still found, because the scan reads the DOM as it stands when you click, not the HTML the server first sent.
- Click the toolbar button. The popup opens against the tab you are on. There is nothing to paste and nothing to configure.
- Read the counter. It reports how many vectors that URL actually renders. That number is usually higher than people expect, because it includes the logo, the UI chrome and the icons in the footer.
- Page to the one you came for. Use Prev and Next. The preview shows each one isolated, which is the fastest way to tell two similar icons apart.
- Name it and download. Type a filename and press Download current. You get the original markup from that URL, with the
xmlnsnamespace repaired so the file opens anywhere.
If your URL really does end in .svg
Then you have the easy case, and you have options. Opening it and pressing Ctrl/Cmd+S will save it. So will the extension, which additionally lets you name the file properly and repair the namespace if the source is malformed — worth it for anything you are about to check into a repository.
One caveat on direct URLs: a lot of CDN links serve the file with a Content-Type of text/plain, in which case your browser shows you the markup as text rather than rendering it. The file is fine; the header is wrong. Saving it still gives you a working SVG.
URLs the extension cannot reach
It runs on pages you can open, so anything you cannot open, it cannot read either. In practice that means chrome:// and other browser-internal pages, the Chrome Web Store and add-on galleries (browsers block extensions there on purpose), local file:// pages unless you grant file access, and anything behind a login you do not have. If you are logged in, though, it works normally — which is one thing no online tool can do with a URL you paste.
- Input
- Any page URL you can open — no
.svgextension required. - Handles
- JavaScript-rendered icons, logged-in pages, and inline markup with no address behind it.
- Output
- The original vector, namespace repaired, named however you like.
- Also see
- From a link · Why online extractors miss this
Good to know
Frequently asked
Can I just paste a URL into an online SVG downloader?
Only if the URL points directly at a .svg file. An online tool fetches the address but never renders the page, so any vector drawn as inline markup — which is most of them — is invisible to it. An extension runs inside the page after it has rendered, which is why it sees them.
The URL has no .svg in it. Is that a problem?
No. The scan reads what the page rendered, not what the address promised. A URL ending in /icons or /pricing works exactly the same as one ending in .svg.
Why does opening the .svg URL show me code instead of a picture?
The server is sending it with a text/plain content type instead of image/svg+xml, so the browser displays it rather than rendering it. The file itself is fine — saving it gives you a working SVG.
Does it work on a page I had to log in to see?
Yes. It runs inside your browser on the page you are already looking at, so your session applies normally. This is the main thing a paste-a-URL service cannot do.
What about a URL that redirects?
Follow it in the tab first. Whatever page you end up on is the page that gets scanned, which is almost always what you wanted anyway.
Point it at a URL and take the vector
No pasting, no upload, and it works on pages that need you logged in.