A canvas editor with text, images, shapes, snapping, templates and PNG or PDF export is a weekend of work when you lean on Fabric.js, and a bulk-from-CSV mode covers many repeat posts. The product Canva sells is something else: 141 million+ licensed stock items and 3.6 million+ templates on Pro, AI tools and shared brand kits for teams. For a few branded social formats you reuse every week, a local tool is realistic; to replace the library, it isn't.
Before you buildCanva Free covers a lot for solo use. Check what you actually use from Pro (premium assets, bulk design, 100 GB, CMYK export) before you build.
Build me a local template-based graphics maker to replace Canva for social posts. Requirements: - TypeScript single-page app: React + Vite + `fabric` (v7) for the canvas. `npm start` builds and serves it on http://localhost:4950. No server, no accounts, no telemetry, local-first. - Storage: designs and templates as JSON in IndexedDB (`idb`), uploaded images as blobs. A "Back up everything" button writes a ZIP (`fflate`) and a matching restore button reads it. - Canvas presets: Instagram post 1080x1080, story 1080x1920, LinkedIn post 1200x627, X header 1500x500, A4 at 150 dpi, and custom sizes. - Elements: text (font, size, weight, colour, alignment, line height, letter spacing), images (drag and drop, fit or fill), rectangles, circles and lines; a background colour, gradient or image. Layers panel with reorder, lock and hide. - Editing: snap guides to canvas edges, centre and other objects, arrow-key nudging, duplicate, undo and redo (50 steps), zoom to fit. - Fonts: 8 open-licence families from @fontsource packages, loaded locally with no CDN requests. - Brand kit: one saved palette of up to 8 colours and 2 fonts, applied from a sidebar. - Templates: save any design as a template; name text layers as placeholders and "Bulk create" from a CSV, one design per row, downloaded as a ZIP of PNGs. - Export: PNG at 1x and 2x, JPG and a single-page PDF (`pdf-lib`). - Out of scope: a stock library, AI tools, real-time collaboration, video, presentations. - Acceptance: a 1080x1080 design with three text layers and a photo exports as a PNG of exactly 1080x1080 pixels, and a backup ZIP restores into an empty browser profile. - README: where the data lives (browser storage, so back it up) and the font licences.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Canva.
Add a brand import to the graphics maker in this folder. Requirements: - A form that takes a list of hex colours, a folder of logo files (PNG, SVG) and up to two font files (WOFF2 or TTF) and saves them as the brand kit. - Uploaded fonts are registered with the FontFace API and stored as blobs, never uploaded. - Show each colour with its contrast ratio against white and black. - Update the README.
Add multi-size export to the graphics maker in this folder. Requirements: - From any design, tick several presets and click "Create sizes": each becomes a new design. - Scale and re-centre every object to fit the new size, keep text boxes at their original font size unless they would overflow, and keep the background covering the canvas. - Mark the copies as linked to the original so the list groups them. - Update the README.
Add motion export to the graphics maker in this folder. Requirements: - A design can have up to 6 frames, each a copy of the canvas with its own duration. - Export the frames as an animated GIF (`gifenc`) or as an MP4 using the browser's WebCodecs API when available. - Warn when a frame is larger than 1080 pixels on a side, as GIFs get heavy. - Update the README.
People pay for starting points. Choosing from a huge licensed library and a template that already looks designed is faster than any blank canvas, and a team can edit the same file without breaking each other's layouts.
Estimate · Runs entirely in your browser, so there is nothing to host or pay for. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 5 GB storage, 4.7M+ stock photos, graphics, fonts and videos, 1.6M+ templates, up to 20 AI uses a month, export to PDF, JPG and PNG. |
| Pro | $18 | $12 | 100 GB storage, 141M+ stock items, 3.6M+ templates, bulk design, print-ready CMYK export, a larger AI allowance (up to 200 Premium or 20 Ultra AI uses a month). |
| Business | $25 | $20.83 | Everything in Pro plus a larger AI allowance, brand management tools and ad analytics. |
| Enterprise | custom | — | Organisation-wide controls and support. |
Free gives 5 GB of storage, 4.7 million+ stock items, 1.6 million+ templates and a small AI allowance, with PDF, JPG and PNG export.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: The stock library: 141 million+ photos, graphics and videos on Pro, against whatever you license yourself, Millions of professionally made templates to start from.
About $18 a month on the Pro plan per seat, $216 a year (checked 2026-10-14).
The stock library: 141 million+ photos, graphics and videos on Pro, against whatever you license yourself; Millions of professionally made templates to start from; AI tools, including image generation and the bundled allowance; Real-time co-editing, comments and shared brand kits; Video, presentations, documents and print ordering in the same app. If any of those matter to you, keep paying.
Yes: Canva Free (free), Penpot (open source), Inkscape (open source).