Open-source project
flameshot-org/flameshot avatar
flameshot-org/flameshot

Flameshot: a GPL-3.0 screenshot tool with an in-app editor and a DBus interface

Powerful yet simple to use screenshot software :desktop_computer: :camera_flash:

30,907 stars2,029 forksC++GPL-3.0

At a glance

What is it?
Flameshot is a Qt-based screenshot program for Linux, Windows and macOS whose capture window doubles as an annotation editor. The README documents the CLI, the config file and the platform quirks; this article covers what it does, how to install it, and where it falls short.
Who is it for?
Adopt Flameshot if you take screenshots on Linux and want annotation, clipboard copy and scripted capture in one binary; the apt, snap and Flatpak routes mean you can try it without building anything. Skip it if you need unattended, headless capture on a server, since the GUI capture mode is the core of the tool, or if you are on a minimal X11 window manager and are not willing to enable the legacy X11 capture path described in docs/UsageX11MinimalWM.md.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 12 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

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

DEEP OPEN-SOURCE ANALYSIS

What Flameshot is for, and who ends up using it

Flameshot is a desktop screenshot program. The README describes it as "Powerful yet simple to use screenshot software" and lists five features: customizable appearance, in-app screenshot editing, a DBus interface, upload to Imgur, and ease of use. The scope is narrow on purpose. It is not a screen recorder, not an OCR tool, and not an image editor for files you already have on disk. It captures a region, a screen or the full desktop, then puts an editing canvas in front of you before anything is saved.

The people who get the most out of it are Linux desktop users who take screenshots constantly and want to annotate them without opening a second program. Because the editor is part of the capture flow, the sequence is one keystroke, drag, draw, copy. Anyone who has chained a separate screenshot utility to an image editor knows how much friction that removes. Windows and macOS builds exist, and the README has a dedicated section for Windows behaviour, but the Linux packaging story is far richer: apt, snap, Flatpak, AUR and Nix are all present in the repository or the installation docs.

The capture pipeline: GUI mode, full mode, screen mode and DBus

The command line is the clearest view of the architecture. Flameshot runs as a background process with a tray icon; the capture modes are subcommands that talk to that running instance. Running flameshot with no parameters starts the process and does nothing else, which is why the README tells you to pick flameshot gui as your desktop shortcut.

The three capture modes differ in how much interaction they allow. flameshot gui opens the graphical capture window with the annotation tools. flameshot full takes the whole desktop with no GUI. flameshot screen targets one screen and, with the -r flag, prints the image as PNG bytes to stdout, which is the mode you want inside a pipeline. A DBus interface is listed among the features, so other programs can drive captures without shelling out, though the README does not document the DBus methods inline.

Configuration lives in a file named flameshot.example.ini in the repository root, and the same settings are reachable through flameshot config, which the README presents as the alternative to the graphical menu. That duality matters for anyone provisioning machines: you can commit an ini file or script the config command.

Installing Flameshot and taking a first annotated capture

The README points at prebuilt packages and packages from repositories, and the repository ships packaging/ plus a snapcraft.yaml, so the intended path is a distro package rather than a source build. On Debian and Ubuntu the usual route is apt. The README also links the Snap Store and Flathub badges, and the installation docs at flameshot.org cover the rest.

bash
sudo apt install flameshot

After installation, start the background process once so the tray icon appears, then bind a shortcut to the GUI mode. The README says that if you are unsure, choose flameshot gui as your shortcut in your desktop environment.

bash
flameshot gui

You should see the capture overlay: drag to select a region, then use the annotation tools before saving or copying. The README notes that the About window inside graphical capture mode lists all available shortcuts, which is the fastest way to learn the editor.

For scripted use, full-screen capture with a custom path and a five second delay looks like this:

bash
flameshot full -p ~/myStuff/captures -d 5000

The -p flag sets the save directory and -d sets a delay in milliseconds. Adding -c copies to the clipboard as well. The README gives flameshot screen -r as the way to print PNG bytes, and flameshot screen -n 1 -c to capture screen number 1 straight to the clipboard.

Where Flameshot breaks: portals, minimal window managers and Windows console output

The README is unusually candid about failure modes, which is a good sign for a project of this size. On minimal X11 window managers such as i3, dwm, xmonad and bspwm, capture may fail because no portal backend implements the Screenshot interface. The errors named in the README are "Could not locate the org.freedesktop.portal.Desktop service" and "Screenshot portal timed out". The fix is documented in docs/UsageX11MinimalWM.md and involves enabling the legacy X11 capture path. That is a real configuration burden, and it is the kind of thing that makes people conclude the tool is broken when it is not.

Wayland users on Hyprland, Sway and other wlroots compositors get their own document, docs/UsageHyprlandSwayWlroots.md. The existence of that file is itself the limitation: wlroots compositors do not expose a single standard screenshot path, so setup is per-compositor rather than automatic.

On Windows there is a smaller but sharper problem. flameshot.exe accepts all supported command-line arguments but writes nothing to the console, so flameshot.exe -h produces no visible help. The README's answer is flameshot-cli.exe, described as a minimal wrapper that ensures stdout is captured and printed. If you are automating Flameshot on Windows, you must call the wrapper, not the main binary. Nothing in the README suggests the main binary will ever print to the console directly.

How Flameshot compares with the screenshot tools already on your desktop

The obvious alternative on GNOME is the built-in screenshot UI, extended by GNOME Shell's own annotation support in recent releases. The difference is architectural: GNOME's tool is part of the shell and needs no separate process, tray icon or config file, but it is tied to GNOME and its annotation set is smaller. Flameshot runs on any of the three major desktops and gives you a configurable toolbar, which is why people install it on GNOME in the first place.

On KDE Plasma, Spectacle is the native equivalent and integrates with KDE's shortcut system out of the box. Spectacle's advantage is zero setup; Flameshot's is that the same binary and the same flameshot gui command work identically if you also use XFCE, Fluxbox or Windows. For a mixed fleet, that consistency is worth the extra install step.

Scrot and maim occupy a different niche: they are non-interactive, scriptable capture utilities with no editor. If your workflow is flameshot screen -r piped into something else, those tools do the capture half with fewer moving parts. Flameshot's value is the editor attached to the capture, not the capture itself.

Licence, maintenance and the cost of keeping Flameshot current

Flameshot is GPL-3.0. If you ship it as part of a product or bundle it into a distribution image, the GPL obligations attach to the covered work; that is a question for your own legal review, not something the README resolves. The repository also carries a SECURITY.md and a CODE_SIGNING policy document, and the README links a Code Signing Policy section, which matters if you distribute Windows or macOS builds and care about signature verification.

Maintenance is visible rather than assumed. The last push to master was on 2026-09-08, and the most recent release is v14.0.0 from 2026-06-19, preceded by two release candidates in April and June. Nightly builds are available according to the README's badge and the development-build page on flameshot.org. Translation is handled through Weblate, linked from the README.

Upgrade cost depends on how you installed it. Distro packages move when your distribution moves. Snap and Flatpak are independent of the distro and can be updated on their own schedule, which cuts both ways: newer features arrive sooner, and so do regressions. Building from source requires the compile-time and run-time dependencies listed under the Compilation section of the README, with per-distro instructions for Debian, Fedora and Arch, plus a PKGBUILD, a default.nix and a flake.nix in the repository root for Arch and Nix users.

Editorial conclusion

Adopt Flameshot if you take screenshots on Linux and want annotation, clipboard copy and scripted capture in one binary; the apt, snap and Flatpak routes mean you can try it without building anything. Skip it if you need unattended, headless capture on a server, since the GUI capture mode is the core of the tool, or if you are on a minimal X11 window manager and are not willing to enable the legacy X11 capture path described in docs/UsageX11MinimalWM.md. Before committing, verify two things on your own machine: that flameshot gui opens with a visible tray icon under your desktop environment, and that flameshot screen -r prints PNG bytes to stdout as the README claims, because that is the behaviour scripts depend on.

Frequently asked questions

What is Flameshot used for?

It takes screenshots and lets you annotate them before saving or copying. The README lists in-app screenshot editing, customizable appearance, a DBus interface and upload to Imgur among its features.

How do I install Flameshot on Ubuntu?

The README points to prebuilt packages and packages from repositories, and links the Snap Store and Flathub badges. On Debian-based distributions the package is installed with apt, and flameshot.org/docs/installation/ documents the other routes.

How do I use Flameshot on Linux?

Start it once with no arguments to get the background process and tray icon, then bind flameshot gui to a desktop shortcut. The README also documents flameshot full and flameshot screen for non-interactive capture, with -p for a save path, -d for a delay and -c to copy to the clipboard.

Is Flameshot available for Windows 11?

The README has a dedicated Usage on Windows section and the repository carries Windows build packaging, so a Windows build is part of the project. Note that flameshot.exe does not write to the console, so console output requires flameshot-cli.exe instead.

Is Flameshot deprecated?

No. The repository is not archived, the last push to master was on 2026-09-08, and v14.0.0 was released on 2026-06-19. The README also links nightly development builds.

How do I use Flameshot on Hyprland?

The README does not inline the steps; it points to docs/UsageHyprlandSwayWlroots.md for detailed instructions on setting up Flameshot on Hyprland, Sway and wlroots-based Wayland compositors.

Official sources

  1. flameshot-org/flameshot on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
For maintainers

Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/flameshot-org-flameshot.svg)](https://hysenlabs.com/projects/flameshot-org-flameshot)
Community notes

Community notes