DEV Community

Rutvik Panchal
Rutvik Panchal

Posted on

Building an Open-Source Polotno Alternative (Canva-like Editor)

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:

  1. Canvas Rendering Performance

Handling multiple elements (text, images, layers) while keeping the editor smooth required careful optimization.

  1. Data Structure Compatibility

Making the system compatible with Polotno templates while keeping it flexible internally was tricky.

  1. UX Complexity

Even small features (like dragging, resizing, layering) require a lot of edge-case handling.

  1. 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)