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.
