Polotno

File converter

PSD to SVG converter

Convert Photoshop PSD files to SVG in your browser. Vector layers come out as SVG paths and selectable text; raster layers wrapped as embedded images. Edit in the live Polotno editor before downloading.

Quick answer

Drop a PSD, get an SVG with vector layers preserved as paths and text. Edit the design in the live editor first if you want.

Formula: PSD → Polotno JSON → SVG (browser-only, no Photoshop)

Drop a PSD file here to convert it to SVG

or

Runs entirely in your browser. Your file never leaves your device.

SVG is what designers and developers actually want to work with — editable, resolution-independent, web-friendly. PSD is a pixel format with vector affordances bolted on. This converter parses your .psd in the browser and gives you back the cleanest possible SVG: vector where the source is vector, embedded raster only where it has to be.

Vector layers stay vector

Photoshop has shape layers, vector masks, and text — three things that should never be flattened to pixels just to leave the file. The parser walks the layer tree and translates them: shape layers become SVG <path>s with their fills, gradients and strokes preserved. Text layers become <text> with font family, size, weight, color, alignment, and line height carried through. Raster layers — the actual pixel-only ones — become <image> elements with the bitmap embedded as a data URI. No flattening for the wrong reason.

Edit during conversion

After the PSD parses, the design opens in the live Polotno editor. Move shapes, retype text, change colors, swap photos, drop in new elements, or just click Download as SVG. That editor handoff is the main difference vs. a basic file-only PSD-to-SVG converter — and the practical wedge against Photoshop for designs that are 95% right.

The same conversion in code

import { psdToJson } from "@polotno/psd-import";
import { createStore } from "polotno/model/store";

const buffer = await file.arrayBuffer();
const json = await psdToJson({ psd: buffer });

const store = createStore({ key: "YOUR_KEY" });
store.loadJSON(json);

const svg = await store.toSVG({ pageId: store.pages[0].id });

Full API reference: PSD Import and the Import & Export overview.

Frequently asked questions

Q: How do I convert a PSD to SVG?

Drop your .psd file on the converter above. The PSD is parsed with @polotno/psd-import, the layers load into a live Polotno editor, and "Download as SVG" exports an SVG with vector layers as <path>/<text> elements and raster layers as embedded <image>. No Photoshop required.

Q: Will the SVG be fully vector?

Vector wherever the source allows it. PSDs are mostly raster — Photoshop is a pixel editor — so any pixel-only layers (photos, painted layers, smart objects with raster content) come out as <image> elements wrapped in SVG. But vector layers (shape layers, vector masks), text layers, and effects that translate to gradients/strokes survive as real SVG markup. If your PSD is shape-and-text heavy, you'll get a small, clean, fully vector SVG. If it's photo-heavy, expect mostly embedded raster.

Q: Is the text selectable?

Yes — text layers come out as <text> elements (selectable, copyable, re-stylable in any vector editor). Font information carries through; if the original PSD font isn't available where the SVG renders, the browser/viewer will fall back. Embed the font separately or convert text to outlines if pixel-perfect rendering matters more than editability.

Q: What happens to layer effects (drop shadow, gradient overlay, etc.)?

Effects the Polotno schema can represent (gradients, strokes, simple shadows) come through as live SVG markup. Effects without a direct equivalent (gradient maps, complex blend modes, hue/saturation, brightness/contrast) are baked into that layer's pixels — the layer still renders correctly, every other layer remains separately editable.

Q: Why would I want SVG instead of PNG?

SVG is editable in any vector tool (Illustrator, Inkscape, Figma — any editor that opens .svg). It's resolution-independent — sharp at any zoom. And for designs that are mostly text/shapes (logos, social posts, banners), the SVG file is dramatically smaller than the equivalent PNG. PNG only wins for photo-heavy designs.

Q: Can I edit before downloading?

Yes — that's the default flow. The PSD parses into a live Polotno editor; tweak text, layers, colors, then click Download as SVG.

Want this in your app? Embed Polotno SDK.

TRUSTED BY

100,000+

CREATORS

300+

BUSINESSES

ExpediaUnbounceLovePopPostGridPredis.ai