Penpot 2.16 starts with WebGL rendering (beta): an optional faster canvas you can turn on so you work faster and better on large, complex projects like design systems, multi-page files, and boards packed with components and effects. Design tokens also show up in the design sidebar, right next to the controls you already use, so you spend less time jumping back to the tokens panel. On top of that, there’s a huge wave of smaller wins: roughly fifty enhancements and seventy bug fixes, more than a hundred improvements in total.
Contributors showed up in unprecedented force this cycle, with an unusually large wave of thoughtful quality-of-life upgrades. Big thank you for shipping Penpot forward with us.
Let’s dive in!
WebGL rendering (beta): a faster canvas you can try now
This is the headline of 2.16. Penpot’s usual canvas works well for everyday files, but as pages, components, and effects pile up, the workspace can start to feel sluggish. Editing, navigating, and keeping momentum all get harder.
WebGL rendering is a faster path for the design canvas on large, complex projects: smoother interaction as you work, more room for demanding files, and editing that stays stable when your board is packed with pages, components, and effects. Text and thumbnails look more consistent across browsers, and the new renderer is the foundation for the design improvements we are building next. Try it on your busiest file first.
We are shipping it as beta so early adopters can enjoy the speedup while we keep hardening the path. WebGL rendering stays off by default. Turn it on from your account settings or from the design workspace. If you try it and notice anything odd, use Give feedback in the product so we can keep improving it together.
For more on what you gain today, what we are prioritizing next, and breaking changes to expect, see What’s next for the Penpot WebGL renderer on the Community.
Design tokens in the Design tab
The other major thread in this release is design-system work where you already spend your time. If you’ve been waiting for “tokens where I’m already working,” numeric controls in the Design tab now behave like first-class token citizens: type a value, use math where it applies, and open a token picker to apply (or inspect) tokens without bouncing back to the tokens panel just to understand what’s bound.
That covers the surface area you touch all day: sizes and positions, rotation and radius, flex gaps and paddings, min and max sizes, letter spacing and line height, stroke width, shadow offsets and blur and spread, blur strength, and more. The intent is simple: fewer context switches, faster validation, more confidence.
This closes a long-standing gap in the tokens roadmap. Token picking and visibility belong in the Design panel itself, so token work stops feeling like a separate island. For background and tracking, see What’s Next for Penpot Design Tokens and GitHub #9358.
Also in this release for token workflows: import token sets from a linked library you already attach (by @dfelinto), plus rename and duplicate token groups, copy a token name from the contextual menu, and token-related fixes listed in Dev Diaries.
Community contributions: volume up, quality even higher
Something shifted this cycle: dozens of improvements landed with a community byline, not just a trickle of one-off patches. Penpot is huge under the hood, so that breadth is a signal in itself: many different people bumped into real friction, imagined a better behavior, and shipped work you can feel in the first hour of a real project.
The core team still steers architecture, performance, and the riskiest foundations; the community adds creative pressure and lived invention at the edges where files get messy. Thank you to everyone who filed, reviewed, merged, and imagined a better Penpot.
A few highlights (what you gain, and who to thank):
Find and replace for text content and layer names (by @statxc): update copy or rename layers in bulk on the current page.
Drag to change values on numeric inputs in the workspace sidebar (by @RenzoMXD): nudge sizes, spacing, and other numbers by dragging instead of typing every micro adjustment.
Loader feedback while importing and exporting files (by @moorsecopers99): clear progress signals when a file operation takes time.
Import tokens from a linked library (by @dfelinto): pull token definitions from a library you already attach.
Clickable links in comments (by @eureka0928): open URLs straight from a comment thread.
Search bar in the color palette (by @eureka0928): find swatches quickly without scrolling the full list.
Double-click a ruler guide pill to edit its position (by @eureka0928): adjust guide placement in place.
Read-only preview for saved versions (by @wdeveloper16): open a dedicated preview of a snapshot before you restore anything.
There is plenty more in the list below (copy as image, download custom fonts, custom ruler guide colors, paste to replace, and many fixes). We called out names where the changelog credits them; the full GitHub history has everyone who helped.
120+ improvements and fixes
There is a lot more to this release. Below are the remaining enhancements we shipped in 2.16, grouped so you can scan by area (headline features and community highlights are covered above).
Improvements
Design sidebar, color & stroke
- HEX, HSB, and HSL in the color picker with a persistent model switcher (by @edwin-rivera-dev).
- Stroke visibility toggle without removing the stroke (by @eureka0928).
- Alpha percentage on library color values (by @rockchris099).
Layers, pages & canvas
- Tab / Shift+Tab while renaming to move to the next or previous sibling layer (by @bittoby).
- Alt+click a collapsed group’s disclosure arrow to expand the full subtree (by @MilosM348).
- Page separators in the pages list (rename an empty page to
---). - Paste to replace (
Ctrl/Cmd+Shift+V) for selected shapes (by @eureka0928). - Copy as image for boards from the context menu (by @dfelinto).
- Clear artboard guides from a board’s context menu (by @eureka0928).
- Search bar for board size presets (by @eureka0928).
- SVG from external tools: preserve vector content when pasting (by @RenzoMXD).
- Inkscape labels preserved when pasting SVGs (by @jeffrey701).
Assets & libraries
- Delete group from the assets panel context menu (by @FairyPigDev).
- Duplicate color and typography styles (by @MkDev11).
- Per-group add button for typography groups (by @eureka0928).
- Delete and duplicate in the typography dialog (by @eureka0928).
- Persist asset search and section filter when switching sidebar tabs (by @eureka0928).
- Sort asset subfolders alphabetically at every nesting level (by @eureka0928).
Typography & fonts
- WOFF2 support for user-uploaded fonts (by @Nivl).
- Download custom fonts from the dashboard (by @dfelinto).
Files, export & history
- Page name for multi-export ZIP/PDF downloads (by @Dexterity104).
- Detailed file import error messages (by @jsdevninja).
- Restore deleted team files in bulk (by @Dexterity104).
- File validation performance and orphan-shape detection.
Prototyping & tables
- Incoming vs outgoing interaction link colors (by @claytonlin1110).
- Prototyping overlay options: Position before Relative to (by @rockchris099).
- Copy and paste entire rows in an existing table (by @bittoby).
Rulers, guides & viewport
- Custom colors for ruler guides (by @Dexterity104).
- Pixel grid color picker in viewport settings (by @jack-stormentswe).
Plugins, auth & platform
- Clipboard read/write permissions for the plugin system (by @wdeveloper16).
- OIDC login button label customization (by @wdeveloper16).
- Self-hosted OIDC configuration docs for containerized setups (by @sancfc).
- Auth hero illustration and Open Graph link preview metadata.
- Invitation-link error messages.
- Delete profile avatar after uploading (by @moorsecopers99).
Bug fixes
Alongside those enhancements, 2.16 includes on the order of seventy bug fixes: regressions and edge cases across design tokens, the layers panel and undo, color and typography, libraries and variants, export and clipboard, the viewer and version history, the plugin API, and dashboard or auth flows. Many came from community reports. For the full line-by-line list, see CHANGELOG.md on GitHub.
More to explore
2.16 is a reliability release in disguise as much as a feature release: the marquee items change how the canvas moves and how tokens fit into the Design sidebar, and the long tail removes friction you only notice once it is gone.
For the full release breakdown, see Dev Diaries. For how to use the new features in product terms, check the User Guide (updated for this release).
We would love to hear what you think of 2.16! Which improvements are your favorites among everything in this release?










