Open-source project
palxiao/poster-design avatar
palxiao/poster-design

poster-design: a self-hostable online poster and image design editor

迅排设计 - 图片编辑器、AI 在线海报设计,仿稿定设计,适用于多种场景:海报生成、电商产品图、文章长图、视频/公众号封面等。A beautiful online image designer, suitable for various scenarios like generate posters, making design easier!

4,863 stars744 forksVueAGPL-3.0

At a glance

What is it?
poster-design (Xunpai) is an AGPL-3.0 online image and poster designer inspired by Gaoding, built with Vue 3 and a Node backend, covering posters, e-commerce product images, long article images and cover art. It self-hosts a canvas editor with server-side image export.
Who is it for?
Adopt poster-design if you want a self-hostable, customizable online poster and image designer, a Canva-style canvas you own, and can run a Vue front end with a Node backend and Puppeteer export. Do not choose it if you want a zero-setup hosted tool, where Canva or Gaoding fit better, and weigh its AGPL-3.0 network clause before offering it as a public service.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 8 days ago.
What is it written in?
Mainly Vue, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 18, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What poster-design offers

Making marketing images, posters, e-commerce product shots, long article images, video and social covers, usually means a closed online designer like Canva. poster-design, branded Xunpai, is an open-source alternative you can self-host. It is an online image editor and AI poster designer, explicitly modeled on Gaoding (Gaoding.com), built with Vue 3 on the front end and a Node backend, aimed at generating posters and the range of promotional images those scenarios need. The audience is developers and teams who want a browser-based design tool they can run and customize on their own infrastructure rather than depend on a hosted service, including businesses that want to embed a designer in their own product. It is a full application, editor plus backend, so its appeal is owning a Canva-style canvas designer with the freedom to modify it and keep the data in house.

A canvas editor with server-side export

The mechanism is a canvas-based editor front end paired with a backend that handles storage and image generation. The editor, built in Vue 3, uses a moveable-element canvas so users drag, resize and layer text, shapes and images into a design, and a template system lets designs start from presets for each scenario. The backend, a Node service, persists projects, in an embedded SQLite database in the setup the README describes, and generates final images. Image export uses Puppeteer, a headless browser, to render the design to a high-quality output server-side, which is how a web canvas becomes a downloadable poster. This split, an interactive Vue canvas for editing and a headless-browser backend for rendering, is the standard architecture for a web design tool, and it is what lets poster-design produce production images rather than only an on-screen preview.

Running it locally

poster-design is a Vue plus Node application you clone and run. The README's local development flow is:

bash
git clone https://github.com/palxiao/poster-design.git
cd poster-design
npm run prepared
npm run serve

You then open the site at the local address it prints, on port 5173, with an admin backend at the /admin path and a default administrator account documented in the README. The backend service lives under the repository's service directory and handles the database and Puppeteer-based image generation. The first real use is running the development commands, opening the editor, starting from a template, and exporting an image, which exercises both halves, the canvas editor and the server-side render, and confirms the backend and Puppeteer are working before you customize templates or embed the editor elsewhere.

Where a self-hosted designer takes effort

The limitations are those of running a full-stack application. It is a Vue front end plus a Node backend with a database and a headless-browser renderer, so operating it means managing those pieces, and Puppeteer in particular needs a working headless Chrome environment, which is a common source of deployment friction. It is a substantial codebase to customize, so tailoring templates or the editor is real development work. As an actively developed project its setup and features move between versions, and the primary documentation is Chinese with the project modeled on a Chinese design service, which shapes its templates and audience. And it is AGPL-3.0, a strong copyleft with a network clause that matters if you offer it as a hosted service, since that can require sharing your modifications. These are the trade-offs of self-hosting a design tool rather than using a SaaS.

poster-design versus Canva or the tool it imitates

The alternatives are the closed services it is modeled on, Canva internationally or Gaoding in China, which are polished, hosted and require no operation, but are subscription-priced, closed, and keep your designs and data on their servers. poster-design's difference is that it is open source and self-hostable, so you run the designer on your own infrastructure, customize it, embed it in your product, and keep the data in house, in exchange for operating the stack and accepting AGPL's terms. The choice is control and ownership versus turnkey convenience. Use Canva or Gaoding when you just want to make designs with no setup; choose poster-design when you want to own a Canva-style editor, integrate it into your own application, or keep design data private, and you are willing to run a Vue and Node stack with a headless-browser renderer.

AGPL-3.0 and maintenance

poster-design is AGPL-3.0 licensed, and it ships both English and Chinese license files; the network copyleft is the key term to understand if you plan to offer it as a service, since it can require you to release your modifications to users of that service. The last push was on 2026-09-10, and the project is presented as version 2.0 with an active demo site, so it is being actively developed. Adopt it when you want a self-hosted, customizable online poster and image designer and can run a Vue plus Node application with Puppeteer for export, clone it and run the development commands to try the editor and image generation, start from a template and export an image to confirm the backend works, and weigh the AGPL-3.0 network clause before deploying it as a public hosted service.

Editorial conclusion

Adopt poster-design if you want a self-hostable, customizable online poster and image designer, a Canva-style canvas you own, and can run a Vue front end with a Node backend and Puppeteer export. Do not choose it if you want a zero-setup hosted tool, where Canva or Gaoding fit better, and weigh its AGPL-3.0 network clause before offering it as a public service. Clone it, run npm run prepared and npm run serve, open the editor at the local address, and export an image from a template to confirm the backend and Puppeteer work.

Frequently asked questions

What is poster-design?

poster-design, branded Xunpai, is an AGPL-3.0 online image and poster designer inspired by Gaoding, built with Vue 3 and a Node backend, covering posters, e-commerce product images, long article images and cover art, with server-side image export.

How do I run it?

Clone the repository and run npm run prepared then npm run serve, then open the site at the local address on port 5173, with an admin backend at /admin. The Node service handles the database and Puppeteer-based image generation.

How is it different from Canva?

Canva is a closed, hosted, subscription service. poster-design is open source and self-hostable under AGPL-3.0, so you run and customize the editor on your own infrastructure and keep design data in house, at the cost of operating the stack.

Official sources

  1. Issues
  2. License: AGPL-3.0
  3. palxiao/poster-design on GitHub
  4. Project website
  5. README
Community notes

Community notes