Merge SVG files
Combines several SVGs into one – side by side, stacked or as an icon sprite – in your browser.
Runs in your browser – your file is never uploaded
Frequently asked questions
Is my file uploaded?
No. The conversion runs entirely in your browser. The file never leaves your device – there is no server that could see it. Once the page has loaded, the tool even works offline.
Side by side, stacked or sprite?
Side by side and stacked produce one picture: each file becomes a nested <svg> at its own size, placed in the order of the queue with the chosen gap, and the new file gets a width, height and viewBox that fit everything. A sprite is not a picture but a library: every file becomes a <symbol> whose id is the file name, and you show one with <svg><use href="sprite.svg#file-name"/></svg> – or paste the sprite once into the page and use href="#file-name".
What happens to IDs?
Two files often use the same ids (“a”, “gradient”, “clip0”). Every id is prefixed with its file name and every reference – url(#…), href="#…", #… selectors in style sheets, aria-labelledby – is rewritten to match, so gradients, clip paths and <use> elements keep working. In a sprite the <defs> of all files are collected into one shared block.
What does each file need?
A viewBox, or an absolute width and height (px, pt, mm, cm, in). Files sized in percent or em cannot be placed – the message names the file; fix it with the viewBox tool or in your editor. Scripts, event handlers and external references are removed from every file first.
Related tools
Optimise SVG
Shrinks SVG files without changing how they look – in your browser.
● In your browser
Fix SVG viewBox
Adds a missing viewBox from width and height so the SVG finally scales – in your browser.
● In your browser
Convert SVG to React component
Turns an SVG into a ready-to-import React component – in your browser, no upload.
● In your browser
Convert SVG to Vue component
Turns an SVG into a ready-to-import Vue component – in your browser, no upload.
● In your browser
Convert SVG to Svelte component
Turns an SVG into a ready-to-import Svelte component – in your browser, no upload.
● In your browser
SVG text to paths
Turns text into outlines so it looks right everywhere – in your browser.
● In your browser