Konva is a free, MIT-licensed 2D canvas library: a scene graph where each shape has its own events, drag behavior, transforms, and export, in the browser and on Node. Polotno SDK is a commercial design editor built on it. Polotno renders through Konva and shares its author, Anton Lavrenov, so this page compares a library with a product that uses it. Konva began as a fork of Eric Rowell's KineticJS, and Lavrenov has developed it since 2014. The deciding question is where you want to start: at the canvas, or with the editor already on top of it.
Pick the one that matches what you want to own
Pick Konva if…
- The editor is your product. You own each decision, and Konva gives you rendering, hit testing, events, and resize handles to start from.
- Your document model is unusual. Whiteboards, diagrams, maps, and annotation tools need a model of their own, and Polotno's pages of design elements would get in your way.
- You need full control of the output. You decide what gets drawn, how, and what the export pipeline does with it.
- You want MIT with no license key. Konva has no runtime dependencies and no vendor to deal with.
Pick Polotno SDK if…
- The editor supports what you sell. You integrate an editor and keep your engineers on the product your customers pay for.
- You want the editor work done. Rich text, custom fonts, templates, multiple pages, asset panels, and undo history ship together.
- You need print or video output. CMYK, bleed, crop marks, PDF/X, MP4, and GIF come with the SDK.
- Your code and your users work on the same design. A design is JSON, so your backend can set values in it and a user can open the result in the editor.
Konva is the layer, Polotno is the editor on top
1. The editor
Konva gives you rendering, hit testing, events, drag and drop, animation, filters, and a transformer for resize and rotate handles. Its docs include a Canvas Editor tutorial with a working sample to start from.
The same page lists what a product-grade editor adds: a text engine with reflow and per-character styling, font loading that still matches at export time, templates, multiple pages, asset management, history, and an export pipeline that reaches print-ready output. It puts that list at months of work, most of it not canvas work. Polotno is that list, packaged. You configure it instead of writing it, and customizing it needs React.
2. The document model and automation
Konva can serialize a stage to JSON, but event handlers and images do not serialize, and its docs call stage serialization an anti-pattern in React and Vue apps. You design your own document format, and templating and automation are code you write against it. That freedom is the reason to choose Konva for an unusual product, and you maintain that format as it grows.
Polotno's format is documented JSON of pages and elements. Your code sets values in that JSON, with placeholders in text as a common convention, and templates use the same format. Konva's docs describe Polotno as "opinionated about the document model", and that is accurate: you get automation and re-editable designs, and you accept its shape.
3. Rendering and export
Both run on a server. Konva runs on Node with a canvas backend you install, and it exports images at a pixel ratio you choose, in the browser or on Node. Its docs show a PDF recipe that places the exported image in a jsPDF document with hidden text behind it. Konva plays video on the canvas, and its docs cover display only, so print PDF and video export are yours to build.
On your own servers, Polotno's vector PDF, PNG, and JPEG export need no browser, and video and GIF output run a headless browser. The quickest route is Cloud Render: you send the JSON and get the file back in seconds, with no servers to run.
4. Cost model
Konva is free. Your cost is the engineering time to build the editor and keep it running.
Feature comparison
| Capability | Polotno SDK | Konva |
|---|---|---|
| What it is | Embeddable design editor with a JSON format | 2D canvas library with a scene graph |
| Editor UI | Included and customizable | You build it, with a sample in the docs |
| Templates, pages, history | Included | You build them |
| Data model | Polotno's documented JSON | Your own |
| Runs on | Cloud Render API, your servers, browser | Browser and Node |
| Export | PNG, JPEG, PDF, SVG, HTML, PPTX, GIF, MP4. Cloud Render: PNG, JPEG, PDF, PPTX, GIF, MP4 | Images, plus a PDF recipe in the docs |
| Print PDF | CMYK, spot colors, bleed, crop marks, PDF/X-1a, PDF/X-4 | Not included |
| Whiteboards, diagrams, maps | Outside its design format | Listed use cases |
| Framework packages | React components, with guides for Next.js, Vue, Angular, Svelte, and plain JavaScript | React, Vue, Svelte, and Angular packages |
| License | Commercial, fixed license fee by custom quote, Cloud Render billed per use | MIT, free, no license key |
When Konva is the right call
Konva is the right call when you want to own a custom editor. We know that path: Polotno is a custom editor built on Konva. Konva's docs give the same test we would give you. Build when the editor is your product, when your document model is unusual, or when you need full control of the output.
If that describes your team, you start from an active, MIT-licensed library with no license key, no runtime dependencies, and packages for React, Vue, Svelte, and Angular. You keep the document model, the interaction design, and the release schedule, and for a product whose value sits in how the canvas behaves, those decisions belong with you. Konva also fits work Polotno does not attempt: whiteboards, diagrams, maps, and annotation tools.
Polotno makes sense when the editor supports the thing you sell. If none of the work in the list above is where you want to compete, integrate an SDK, and you can test Polotno with the 30-day free trial, no credit card needed. If you would build it anyway, start with Konva.
FAQ
Does Konva run on a server?
Yes. The same scene graph API renders and exports images with no DOM. DOM events need a browser, and canvas feature support depends on the backend you pick.
Can I use Konva directly inside Polotno?
For custom element types, yes. You can register your own elements drawn with Konva shapes. The feature is experimental: custom elements do not work in the Cloud Render API, they need extra setup for server rendering, and the standalone export packages need adapters.
Can I start on Konva and move to Polotno later?
Yes, with conversion work. Your own document format has to become Polotno's JSON, and Polotno's editor replaces the UI you built.
