In the past few weeks, I built an open-source design editor that works similarly to Polotno — and decided to open-source it as OpenPolotno.
The goal was simple: create a Canva-like editor that developers can fully control, customize, and self-host.
🚀 Why I Built This
Polotno is a great tool, especially for quickly building design editors.
But while working with it, I felt a few limitations:
Limited control over customization
Dependency on a proprietary ecosystem
Constraints when scaling or extending features
I wanted something that:
Gives full ownership of the editor
Allows deep customization
Can be self-hosted without restrictions
So I decided to build an alternative — compatible with Polotno, but fully open.
🧠 The Idea
Instead of reinventing everything, I focused on:
👉 Compatibility
If developers are already using Polotno, they shouldn’t need to rewrite everything.
So OpenPolotno supports:
Similar API structure
Template compatibility
Familiar data format
This makes migration or integration much easier.
✨ Features
Here’s what the editor currently supports:
🎨 Drag-and-drop canvas editor
🖼️ Text, images, and layer management
🧩 Polotno-compatible templates
🔌 Similar API structure
💾 JSON-based import/export
⚡ Fast and lightweight performance
🔓 Fully open-source
🧱 Challenges I Faced
Building a design editor is not trivial. Some of the biggest challenges were:
- Canvas Rendering Performance
Handling multiple elements (text, images, layers) while keeping the editor smooth required careful optimization.
- Data Structure Compatibility
Making the system compatible with Polotno templates while keeping it flexible internally was tricky.
- UX Complexity
Even small features (like dragging, resizing, layering) require a lot of edge-case handling.
- Scalability
Designing the architecture so it can grow into a full product (plugins, extensions, etc.) took planning.
🎯 What This Can Be Used For
OpenPolotno can be used to build:
Canva-like SaaS products
Social media design tools
Internal design platforms
Marketing automation tools
Basically, anything that requires a visual editor.
🔗 Links
GitHub: https://github.com/therutvikp/OpenPolotno
NPM: https://www.npmjs.com/package/openpolotno
💬 Feedback Welcome
This is just the beginning. I’d love feedback from developers who:
Have used Polotno
Are building design tools
Need a customizable editor
If you have suggestions or ideas, feel free to share 🙌
Top comments (0)