Skip to content


Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time
blueprint-compiler @ 592ed7a
icon-development-kit-www @ 872f24e


Learn and prototype with GNOME technologies

Download on Flathub

Workbench goal is to let you experiment with GNOME technologies, no matter if tinkering for the first time or building and testing a GTK user interface.

Among other things, Workbench comes with

  • realtime GTK/CSS preview
  • library of examples
  • 1000+ icons
  • JavaScript and Vala support
  • XML and Blueprint for describing user interface
  • syntax highlighting, undo/redo, autosave, session restore
  • code formatter
  • console logs


It is an essential tool for those who develop applications with GTK as someone who is learning GTK, Workbench is definitely a must have! created a simple mockup using the amazing Workbench app It used to be hard but Workbench helps me learn GTK. I recommend it even to those who are new to GTK This tool has simplified my life by saving my time drastically. Gone too wild playing with Workbench

Tips and tricks

Disable code formatting

Workbench uses the prettier code formatter. If you need to exclude some code you can use special comments.


// prettier-ignore
  1, 0, 0,
  0, 1, 0,
  0, 0, 1


/* prettier-ignore */
.my    ugly rule

Turn a prototype made in Workbench into an application

Use GNOME Builder to start a new project using the appropriate GNOME Application template and copy paste your Workbench code.


If you'd like to help translating Workbench into your language, please head over to Weblate.

Translation status

Thank you for your help!


  1. Install GNOME Builder
  2. Open Builder and select "Clone Repository..."
  3. Clone (or your fork)
  4. Press the Run button

If you used an other method, don't forget to fetch the submodules.

cd Workbench
git submodule update

Feel free to come by


Please do not attempt to package Workbench any other way than as a Flatpak application.

It is unsupported and may put users at risk.


Workbench would not be possible without

GTK, GLib, Flatpak, GtkSourceView, libadwaita, VTE, GJS, Blueprint, icon-development-kit, Vala

and the GNOME community 🖤


© 2022 Sonny Piers and contributors


GPLv3. Please see COPYING file.

Except for everything under src/Library/demos which is in the public domain under the terms of CC0 1.0.



$V = 45

# Pull translatons
git merge --squash l10n
git commit -m 'Update translations'

# Update version
# bump version in
git add

git commit -m '$V'
git tag '$V'
git push
git push origin $V

Update icons

cd icon-development-kit-www
git pull
cd ..
cp -r icon-development-kit-www/img/symbolic/**/*.svg data/icons/hicolor/scalable/actions/
cat icon-development-kit-www/_data/icons.yaml | python -c 'import sys, yaml, json; print(json.dumps(yaml.safe_load(' > src/icon-development-kit.json

From Mirko Brombin creator of Bottles

My favorite tool is definitely Workbench, an application that allows me to compose GTK interfaces with XML/Blueprint, JavaScript, and CSS, seeing the results in real-time. This tool has simplified my life by reducing my time drastically. It is an essential tool for those who develop applications with GTK and I recommend it even to those who are new to GTK.

From Marco Melorio creator of Telgrand

GSoC coding period started on Monday, so this is a good time to blog about what I’ve started working on and what’s my milestone to finish the project. First off, I’ve created a simple mockup using Sonny Piers’ amazing Workbench app. This is the first step in knowing how we want the UI to look like, at least in the first iteration.

Workbench has been great! It used to be hard to mess around with GTK but Workbench helps me to learn GTK.

Gone too wild playing with Workbench and Blueprint.

as someone who is learning GTK, I can confirm that Workbench is definitely a must have for me!