Penpot Desktop: Road to 1.0

For the project’s current status, please see the 2024 review with Q1 2025 update and March 2025 update with Q2 plan.

Penpot Desktop is an unofficial desktop application for Penpot.

It provides you with access to the functionality of the browser version of Penpot with an experience of a desktop application. It comes with

  • system-level application experience e.g. a dedicated window, file extension association,
  • versatile dark-light mode setup,
  • tab interface for easy navigation between projects,
  • ability to connect to different instances e.g. officially hosted, local for offline work,
  • and more are coming.

Links

Repository
Documentation

7 Likes

Hello,
today marks 3 months since my first commit to Penpot Desktop. It’s also close to the end of the year, a great time for a review and talk about the future.

What’s Done

As with any project that has been out of development for some time, half a year in this case, I started with routine updates. For example, Penpot Desktop is now running the latest version of Electron (the framework it’s based on), which is important for security and maintainability.

From there it was time for documentation, fixes, and smaller features. All are good options to improve stability of a project and familiarise yourself with a code base, I used that.

Here are development highlights of 2024:

  • Updates to the framework, build tooling, and dependencies.
  • Security improvements in form of a process sandboxing, in-app navigation rules, and a webview verification.
  • UI fixes resulting in clean tab navigation and a more consistent UI across the platforms.
  • Features like a dedicated reload button, dynamic instance support, and navigation requests controls.

The First Code Contribution

Huge shoutout to @Beryesa for their work on Flatpak build and getting Penpot Desktop on Flathub.

It’s now live in the app store, with improvements planned and awaiting upstream fixes.

What’s Next

With a quarter behind us, let’s talk Q1 2025.

We are not out of the forest in terms of the technical debt. A decent chunk of the development time will go to migrating away from one of the dependencies that is seriously outdated and no longer maintained - the tab interface package. It’s an investment that will have returns in form of a better UI (compatible with the planned features) and a more secure application.

To the features now.

System/Local Fonts

Local fonts is probably the most requested feature and constantly on my radar. However, based on the prototyping I have done so far, it’s also the easiest one to overpromise on in this list. I just want you to know that it is a work in progress.

Multi-instance Support

The next milestone in the instance’s evolution is support for multiple instances. It will allow you to open Penpot from different sources simultaneously, which will be segregated and visualised in tabs, and manageable with a dedicated interface.

Friendly Local Setup

Penpot’s big feature is the ability to self-host it, which allows you to keep the work more private or simply work offline. However, it requires an extra setup and I believe it would help a lot if the process was abstracted in the app - at least to a certain degree.

The Interface

Penpot Desktop is getting a new, refreshed look. You can expect better working experience, encapsulating new features (some mentioned above), supported by new and improved menus, and a seamless feel with the Penpot application itself.

Below is an early mock-up and you can play with the prototype - make sure to click around.

The mock-up is based on Penpot’s Pencil, with a few minor modifications. Thank you Penpot team for releasing the design system.

Final Words

Thank you everyone for contributions - code submissions, bug reports, feature suggestions, feedback, spreading the word, and your activity overall.

If it’s the first time you are hearing about Penpot Desktop, give it a try - check out the installation options.

This is the last planned update post in 2024. Have a great end of the year. Stay tuned for future updates.

14 Likes

I’d love to help with the UI design of this project, I have some ideas and they might improve a lot the experience of the project. I will create a prototype for it later. Thanks for keeping this up and have a great end of the year you all :smiley:

5 Likes

Thank you @RenanMayrinckDesign. That sounds great, help is very much welcome. Let me know if you need any technical details, information etc.

1 Like

End of the 2024 was busy over at Penpot Desktop. Welcome to the first update in the 2025.

Development Upgrades

With the Q1 planned out, I decided to dedicate the remaining free time slots from the end of the last year to behind the scenes improvements and nice-to-have features.

Penpot Desktop received:

  • Clean up of the dependencies. - Removed packages that were replaceable with native features, not worth the risk associated with a dependency, or unused.
  • Migration to ES modules. - It’s related to development environment, but modular, clearly-structured code helps with bringing you new features - a win for everyone.
  • Code formatting and linting. - Another set of tools that help in development.
  • The context menu for quick tab management. - It gives you an option to reload or duplicate a tab, or batch close [other, right, left] tabs in relation to the targeted one. See preview.
  • The light/dark mode support. - The Theme setting lets you choose the preferred interface’s colour scheme. It offers options to hard set a theme (light or dark), follow an operating system, or follow an active Penpot project. See preview.

The Start

In January I immediately moved to work on the Road to 1.0. The most recent release added a side bar to hold the settings available so far - see preview. However, in the future, it will provide space for more controls of dynamic aspects of the app. Which means that support for multiple instances is really close.

There are also some surprise features on the radar. For example, file-based configuration, which will let you move Penpot Desktop’s configuration between devices, share it with a team, or include in a back-up.

Follow The Journey

I will be posting more about ongoing development of Penpot Desktop. If you would like to see short and more frequent updates, I’m trying out BlueSky and Mastodon.

Thank you for reading. I hope you enjoyed the update. Stay tuned for the next one.

2 Likes

Hello @Belar, this is my first interaction with the design of the new app, please take a look:

1 Like

Hi,
it’s nice to see the design coming together, thanks for sharing. The icon selection and the minimal feel are great.

What is your plan now? Long term, for a dedicated communication space, we could open an issue in the repository. Let me know what works for you.

Hello @Belar

I was planning to check out features in the roadmap that I could prototype and make it even more complete. If it helps you I can add it to Github as well, just send me a message and tell me what you need me to do in detail and I’ll get it done.

2 Likes

Sounds great. Will write to you at the weekend with details.

Looks like the unofficial options page have been updated to link to this project now :rocket:

3 Likes

This is great! I think I’ve mentioned that this would be done somewhere around here. Just makes sense to point here since @Belar is keeping things up and running right now.

2 Likes

Welcome to the February update

Instances, new UI, Penpot support, Q2 planning.

Since the last update

If you regularly use Penpot Desktop, you may have noticed that February was relatively quiet in terms of app updates. However, extra focus led to a surprise upgrade and the smooth release of a key milestone. Here are the features that debuted since the last update:

  • File-based settings - You can now move or sync Penpot Desktop’s settings between devices, share them with your team, or include them in a backup. Read more
  • Closed sandbox in Flathub (by @Beryesa) - With the file selector dialog functioning properly again in Electron v34, the Flathub version of Penpot Desktop no longer requires sandbox holes for the Downloads and Documents directories.
  • Multiple instances - You can now manage multiple Penpot instances and open them simultaneously, each in its own colour-coded tab for easy identification. Release Documentation

New interface is a go

Thanks to @RenanMayrinckDesign, who volunteered to redesign the app, Penpot Desktop is set to eliminate the mosaic of user interface designs. The new UI is fresh and unified, seamlessly integrating with the visuals of the Penpot app while maintaining familiarity. You can view the mock-up and follow the design progress in the posted Penpot project.

Controls for managing multiple instances have already been built based on the new design. In March, I plan to dedicate development time specifically to the UI, which will result in the full application of the new look across the entire app.

Penpot + Penpot Desktop

I’m happy to share that Penpot Desktop has received official support from Penpot. The project remains a community initiative, but you can expect greater stability in the app’s development, features that align with and extend Penpot’s ecosystem, and it explains the recent mentions in official content (as noted by @Beryesa and @RenanMayrinckDesign).

It is great to see a project reach this level of recognition. A big thank you to @diacritica and the Penpot team for their trust, and to the community for the warm reception over the past few months.

Let’s plan Q2

March marks the end of Q1, and it is time to finalise the plans for Q2. Here is a list of items I plan to work on in the next cycle:

  • Tab navigation improvements - The navigation component is due for a rewrite, providing a great opportunity to add requested features like pinning tabs and remembering open projects.
  • Live preview reload - Reload a preview after changes are made to a project.
  • Batch file download - A quick and easy way to download files of selected projects.

Additionally, here is an idea for a feature—let’s call it a stretch feature—that I will work on depending on demand and available time:

  • Workspaces - Building on the tab navigation improvements, Workspaces would allow you to group tabs and switch between these groups. For example, you could group and separate projects for different clients or different types of work within a project (e.g., design system, components library, logos vs. website, promotional design).

From the above items, I consider the tab improvements and batch download features to be semi-locked. The remaining two are subject to change, and your feedback and suggestions are most welcome.

11 Likes

This is amazing on so many levels! Thanks a lot @Belar!
I’m loving @RenanMayrinckDesign work too! I’ll keep that mockup link handy!

Also, the Workspaces idea is brilliant but in terms of short-term Q2 plans, I’m really looking forward to that batch file download. Everything that connects Penpot with a filesystem (even if it’s initially just about downloading stuff) has my attention. A lot of people here already know how fond of a future Penpot+Git integration I am!

It’s actually our pleasure to support this project and this excellent team!

6 Likes

Hey @Belar,

I don’t know if this is the right forum, but I didn’t find a better one (sorry, I’m relatively new to the Penpot community). Today I wanted to try the desktop version so I decided to look for the Github page where to download it.

I’m a Mac user, so I went looking for the necessary package (dmg I guessed) but I found a few Mac related packages: .zip, .Appimage, .dmg, etc.

Which one should I download? I was looking for information about it but couldn’t find anything about it.

Thank you in advance for all your amazing work! :smiley:

Hi @dscasares,
This thread is just fine, thank you for reaching out.

For macOS, use the .dmg installer file. If you have an Intel-based Mac, use the plain .dmg file, e.g., Penpot-Desktop-0.11.0.dmg. For Apple Silicon (M1, M2, etc.), use the one with the arm64 suffix, e.g., Penpot-Desktop-0.11.0-arm64.dmg.

Note that the macOS installers are currently unsigned (work in progress), so you might encounter an error. The error’s form varies from setup to setup. You can find more on that topic in the dedicated issue.

I will update the installation docs to include information about the installers.

1 Like

Hey @Belar,

I have just installed the Mac application. It works flawlessly using xattr in the terminal.

Thank you!

2 Likes