Hacker News new | past | comments | ask | show | jobs | submit login
Flameshot – Open-source screenshot software (flameshot.org)
390 points by nikolay 3 months ago | hide | past | favorite | 127 comments



I use Flameshot combined with Tesseract and zbarimg to quickly clip areas of the screen and either OCR them or decode barcodes, which I then map to hotkey combinations.

For example, I have `bash -c 'flameshot gui -s -r | tesseract - - | gxmessage -title "Decoded Data" -fn "Consolas 12" -wrap -geometry 640x480 -file -'` mapped to Super+O, so I can just press the key combo, select a region of the screen, and have the OCRed text immediately displayed in a dialog box from gxmessage (which accounts for most of the command line). Replace 'tesseract' with 'zbarimg' and you have a barcode scanner.


Great idea - I ended up experimenting to improve the ocr accuracy:

    #!/bin/bash

    screenshot=$(mktemp)
    decoded_data=$(mktemp)
    processed_data=$(mktemp)

    cleanup() {
        rm "$screenshot" "$decoded_data" "$processed_data"
    }

    trap cleanup EXIT

    flameshot gui -s -r > "$screenshot"

    convert "$screenshot" \
        -colorspace Gray \
        -scale 1191x2000 \
        -unsharp 6.8x2.69+0 \
            -resize 500% \
        "$screenshot"

    tesseract \
        --dpi 300 \
        --oem 1 "$screenshot" - > "$decoded_data"

    grep -v '^\s*$' "$decoded_data" > "$processed_data"

    cat "$processed_data" | \
        xclip -selection clipboard

    yad --text-info --title="Decoded Data" \
        --width=940 \
        --height=580 \
        --wrap \
        --fontname="Iosevka 14" \
        --editable \
        --filename="$processed_data"


Nice! Once you start getting complex, a standalone script might be a good idea. But it should be noted that your ImageMagick processing can also be inserted into the original one-liner:

    bash -c 'flameshot gui -s -r | convert - -colorspace Gray -scale 1191x2000 -unsharp 6.8x2.69+0 -resize 500% png:- | tesseract - - | gxmessage -title "Decoded Data" -fn "Consolas 12" -wrap -geometry 640x480 -file -'


Indeed; I just wanted to break it into sequential steps so that in case of issues, I can conveniently add debugging steps in the middle as needed.


Last year, when I want to find a tool to do the sanpshot and OCR job, I found flameshot. However, the OCR feature hasn't been added as native function due to some issues I'm not very clear.

So I spent some time added the OCR function into flameshot. I didn't choose to compile tesseract into flameshot, but using the rest api way to call a server running remotely. The reason for this way is I also added llama.cpp translation feature after OCR.

Here're github repositories for my fork of flameshot and the OCR and translation server which is written causually in Rust.

https://github.com/jason-ni/flameshot https://github.com/jason-ni/flameshot-ocr-server


If you've installed Flameshot using homebrew on MacOS, this will do a similar thing:

  /opt/homebrew/Caskroom/flameshot/12.1.0/flameshot.app/Contents/MacOS/flameshot gui -s -r | tesseract - - | (text=$(cat) && osascript -e "display dialog \"$text\" with title \"OCR Result\" buttons {\"OK\"} default button \"OK\"")


This is my go-to screenshot tool on Linux.

For Linux users who also use Google Photos already, you may not realize this but the Google Photos web app accepts paste from system clipboard via Ctrl+V in the browser. Thus, my workflow if I want to save a screenshot for later is to call up flameshot in rectangular selection mode (I bind it to the PrtScn key), select my screenshot area, Ctrl+C to copy it to clipboard, navigate to GPhotos web app via address bar / bookmark bar shortcut, and Ctrl+V to upload there.

The nice thing about this is that GPhotos recognizes it as a screenshot (so I can find it on my phone later, too, for example). And, GPhotos also automatically indexes any text within the screenshot, so free text search can often find it, too.

If I need the screenshot as a file for some other purpose, I'll navigate to it in GPhotos and use Shift+D to download it.

I can also use GPhotos to privately share the screenshot with someone via their email address, or get a tokenized link for it.

Just sharing this tip because I notice a lot of people hunt around for cloud storage for desktop screenshots. But Google Photos works pretty well for this purpose already, if you use the paste-to-upload trick!


Looks like there's a Google Photos API, so you could concievably make a full chain to upload screenshots automatically.

https://developers.google.com/photos


My employer uses Gmail/gdrive so I just use the gDrive sync tool to auto upload my entire screen shot folder.


I just store screenshots to a Dropbox folder. It’s worked great for me for years with Flameshot.


I use the following script (activated by a system-level shortcut key) to take a screenshot, upload to S3 bucket (using the minio client[0]) and place the URL in the X selection buffer, ready to be pasted:

  #!/bin/bash
  set -e
  dbus-update-activation-environment DISPLAY XAUTHORITY
  FNAME=`cat /dev/urandom | tr -cd 'a-f0-9' | head -c 32`.png
  flameshot gui --raw > /tmp/$FNAME
  ~/go/bin/mc -q cp --attr x-amz-acl=public-read /tmp/$FNAME s3/your.s3.bucket/dir/$FNAME
  echo -n https://s3-us-west-2.amazonaws.com/your.s3.bucket/dir/$FNAME | xsel
[0] https://min.io/docs/minio/linux/reference/minio-mc.html


I have a similar setup but with SHA256 hash of the file as the object key.


In mine the hash is encoded as z-base-32 and namespaced with an uncommon first character:

  $ publish example.png
  https://example.com/+umk3cm5cah5akbqeueq8914zimfktoih
And for when it matters, the filename can optionally be attached:

  $ publish --named example.png
  https://example.com/+umk3cm5cah5akbqeueq8914zimfktoih
  $ http --headers 'https://example.com/+umk3cm5cah5akbqeueq8914zimfktoih' | grep 'Content-Disposition'
  Content-Disposition: inline; filename="example.png"


I forget, do you pay for bandwidth serving from S3 in this case? I have been looking for a good screenshot hosting solution to replace Cloudup, which was perfect and still usually works but I figure it might stop any day now. My only worry would be the unlikely case of a surprise high bill from a screenshot gone viral or something along those lines.


My workflow uses SFTP to upload to a cheap webhost, with cloudflare in front acting as a cdn. Easy peasy


Doesn't R2 have no egress fee?


Implement a cloudflare cache infront?


You may want to modernise your script because Bucket ACLs are disabled by default these days: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-...


I wonder: if we set a TTL on the image, and also make it require a signed link that gets copied the same way, is it now a secure & ephemeral service?


Having briefly tried it I have to say it's not as clear or easy to use as ShareX (another open-source screenshot tool). The monochrome icons are really not intuitive or easy to discern at a glance.

Another commenter asks why it's not possible to trigger with the PrtScn key and I would also think that is an essential feature.


I found it to be the exact opposite. ShareX has a lot of features which makes it hard to quickly get your head around all its clutter, when sometimes all you want to a screenshot utility.

Flameshot has key bindings just like any other screenshot program. If the shortcut is already bound by another program, then it will not let you bind it to Flameshot, I believe.

I have been using Flameshot portable for years and it isn't without missing features but I keep coming back to it. I generally use the copy function, sometimes save to location. It would be good to have a built in editor that can be loaded after the action.


Why not just use the built in system screenshot tool if you just want to copy or save?

ShareX can pop up an editor after a screenshot which I do use a lot.


My apologies as I was not clear. Copy or Save after crop, and arrows, numbers etc.

Thank you for pointing out that ShareX has an editor. I was aware that it has that feature but I do not remember the specifics on why I went back to Flameshot.

The lacking features of Flameshot is that once you move away from the editor, you can not go back and make alterations. Not that I am aware of anyway.


I've used ShareX and Greenshot, and the latter is more straightforward. I don't want to upload retouched/annotated screenshots, but ShareX is a image sharing application at its core, so it had too much unused baggage for me. Greenshot hits the sweet spot for my use cases perfectly.

Also, Greenshot is lighter and snappier than every other Windows screenshot application I've tried.


I have the PrtScn key set up to open flameshot on my PopOS machine and it works great. I just followed the instructions here: https://flameshot.org/docs/guide/key-bindings/#on-ubuntu-and...


Flameshot is the best. I'm never going back.

And configuring it to a the print screen button just involves assigning it, and in the case of Ubuntu, overriding system defaults.


I recently switched my daily driver from Ubuntu to MacOS. I used PrtScrn to trigger Flameshot on Linux, and it was trivial to do the same on MacOS.

Perhaps it's harder on Windows?


FYI, [Win + Shift + S] is quickest way in windows to copy selected area to clipboard, if that's all you need.

I use it nearly everyday for something e.g. posting snap of a code snippet or anything in slack to putting these clips in docs.

EDIT: Just tried Flameshot and loved that I can draw while taking a snap, instead of opening a new window and do the drawing in that. Looks like this is going to replace Win+Shift+S for me.


> FYI, [Win + Shift + S] is quickest way in windows to copy selected area to clipboard, if that's all you need.

Nowadays (at least for me on Win11) it's also bound to the PRNTSCRN button, which is a nice way to redeem an otherwise anachronistic key.


Thats the reason I stopped using win+shift+S, to draw on snippet right away. Now if only I could do 2 snippets and merge them into one pastable immage in flameshot..


I'm a big fan of Greenshot. My only issue with it is that it's not available on Linux, which I use occasionally.

Re Flameshot, I've tried it and it generally works well for me. My only beef is that the layout of the icons around the captured area is dynamic, changing based on the shape and size of the area, requiring me to actively search for an icon instead of finding it in a static, predictable location.


I worked for an organization with more than 150000 employees. All their PCs had Greenshot pre-installed and it was part of their standard software. Greenshot was used a ton over more than a decade, maybe still is, and (observed from my limited view) loved very much.

They never payed a cent to the developer - shame on them.


For the last 10(ish) years I've been using Greenshot [1]. I haven't found any issues with it but it is only available on Windows and Mac.

[1] https://getgreenshot.org/


Greenshot is great! I use it on Windows, and ksnip on everything else atm as it has similar draw arrows/annotation features.


If ksnip is cross-platform, may I ask why don't you use it everywhere, if it's so similar to Greenshot?

BTW I've never heard of Ksnip before. I gotta try it.


I haven't used Greenshot in a couple months, but I think I remember it being better than ksnip, will have to look again.


Related:

Flameshot v11.0.0 - https://news.ycombinator.com/item?id=30071766 - Jan 2022 (30 comments)

Flameshot – Simple, powerful screenshot tool for all major operating systems - https://news.ycombinator.com/item?id=26446070 - March 2021 (125 comments)

Flameshot – Superb Screenshot Tool - https://news.ycombinator.com/item?id=26113753 - Feb 2021 (83 comments)


Amazingly useful, definitely powerful and easy to use software.

I know I sound like I am just repeating the title, but that's my honest, user opinion too. Does what it says it does, does it well, and stays out of your way until you want to use it.


The UI and features look well-polished. I use ShareX, another open-source tool but only available for Windows. However, a crucial feature for me is quick screen recording (GIF or MP4), which Flameshot seems to lack. Does it have this feature? It's not mentioned on the landing page.


On Linux for screen recording I use Peek and I really like the approach

You just resize Peek‘s transparent window over the part of the screen that you want and hit record

https://github.com/phw/peek


I make heavy use of Peek and it's great. Unfortunately it's abandoned so will likely stop working eventually.

https://github.com/phw/peek/issues/1191


Oh, I was not aware of this. Very sad to see this


I use ShareX for mp4 and gif using CTRL+PrtSc / SHIFT+PrtSc and for image screenshot only PrtSc (currently lightshot, will aoon move to flameshot)


I find it ok as I'm on a Mac now. On Linux, I used KSnip which was incredible (doesn't work well on Mac). Nowadays I would use Spectacle on Linux.


Been using this for a few years now. First grabbed it because I wanted a linux alternative to ShareX, but now I use it on windows too. It's great!


Can you trigger it with the PrtScn key in windows like you can with sharex? I can't find an option for that.


Flameshot is great, I've been using it for years. I love being able to draw and add annotations in the moment I take the screen shot


I needed a screenshot software when I moved to Linux Desktop last year.

Flameshot (despite being available on Windows) helped make that transition really pleasant! I mentally put it in the LINUX HAS BEEN GOOD column.


That's actually how I found it too, the drawing and annotations were just the cherry on top


I have wanted this for ages, didn't know Flameshot did this or I would have tried it much sooner. It's the only thing missing from any screenshot utility I use.


It's been the best option for a while now on Linux IMHO. I was a long time SnagIt user on Windows and when I went Linux full-time, I tried all different options but the ability to snapshot and markup quickly are key.

Works well in XFCE, KDE Plasma, and Cinnamon - notso in Gnome because, well, Gnome. I wish it did video too. Until it does, I am using SimpleScreenRecorder - which is okay.


If you are on windows ShareX blows almost everything else out of the water imo, the GIF/movie capture feature is great.


Works great on Linux using Wayland. There was a period years ago when that wasn't the case.


While it works on Wayland for me, it feels much clunkier and less snappy than what it used to be on X.


Years ago? Try less than 12 months ago. I still have active bugs open in their issue tracker.


That's been my experience. I've been using a rolling release distro and haven't had problems in years.

There was a period where any screenshot/recording app didn't work at all, including Flameshot, due to limitations in Wayland implementations.


It doesn't work at all for me under hyprland.


never worked on ubuntu 22.04, I had to use xorg for that.


A great example of how to use Qt to make very neat, useful and feature-packed cross-platform software at a very low cost


For the last 10+ years I am using portable WinSnap (it is Windows only) - just 3 Mb, does not need .NET, can conveniently snapshop the current window, all windows of the current application, whole desktop or just a selected area. Has some built-in filters (mirror, border, watermark, negative, grayscale, blur) but most importantly - allows moving around or deleting the annotations individually after their creation (unlike Flameshot). Can not recommend any other screenshoting software.


This is a great piece of software that I use under Linux and MacOS


For screenshots I use 'scrot' and then open the image in gimp if I need to crop or edit further.

Seems very simple to me and avoids browsers, cloud storage, and other potential pitfalls.

https://github.com/resurrecting-open-source-projects/scrot


Flameshot is local. May have a subscription service, not sure.

But flameshot is extremely fast and does 95% of what I'd do in gimp anyway, without having to open a whole image editor and saving a picture. I can directly copy it to the clipboard and paste it somewhere.


Yeah it sounds good, I just rarely do screenshots so I stick with what I know. If my workflow required a lot of screenshots I might either automate it a bit more or look at other tools.

I'm actually about as likely to just pull out my phone and take a picture of the screen as to use software-based screenshots.


I also use scrot, because it's simple. Almost always use 'scrot -s', so I get to do immediate cropping, and it's trivial to bind to a shortcut in i3wm.


I have been using it recently and like it. It is MUCH better than Windows native snipping software. It is also open source and free, so that's an added bonus.

Having said that, I wish we can select the objects (e.g., text box, arrows) we have created and move them around. Right now, we can only undo and if an arrow is drawn a few steps before and now you want to reorient its head, you are out of luck.

In the past (4-5 years ago), I used to use Jing (now called TechSmith Capture) and liked it a lot: https://www.techsmith.com/jing-tool.html and liked it. But I think the company decided to remove some features and/or require some sort of account creation; on top of that, it (if I remember correctly) kind of lost its earlier simplicity, so I stopped using it.


> Having said that, I wish we can select the objects (e.g., text box, arrows) we have created and move them around. […]

On Windows I like to use Greenshot because the editor opens up in a dedicated window and gives me full control over the objects I place (move, resize, change colors, duplicate, cut-copy-paste, reorder, save objects to file for reuse...). It's also open source, but seems unmaintained for some time now (but there is a fork implementing zoom in the editor).


I think you can move objects around but I believe you have to de-select the tool first. Try pressing ESC first to deselect. Going off of my poor memory.


Love flameshot, use it all the time! It was part of my move to try to make as much of my stack GPL as possible.


I discovered this when I was playing around with i3wm a few years ago. It's a really nice piece of software that does what you need it to do, and it stays out of your way otherwise. I mostly use it for screenshots, but it can edit and annotate, and pin images.


I don't understand the fascination with blur. It's terrible from a security/privacy perspective. The data is still in the image. Sure you can add randomization to the blur to make it less easy to undo(I haven't looked if Flameshot does or not, most don't). If you crop the stuff you want out of the image, there is no data there to do anything with.

Every screenshot tool I've ever come across has a blur tool but no cut tool. So I just use the OS specific screenshoter and then load it up in an image editor and cut to my hearts content.


Flameshot has a draw-rectangle function. So you can just draw a red or black rectangle on top of things.


And since it's a PNG file, I assume, It won't be layered! nice!


With blur there can also be no data (as you said -with randomization, you can even blur randomized text instead of the real one).

But the fascination is easily explained - it looks better as it "fits" the rest of your image vs having some jarring black rectangle


> you can even blur randomized text instead of the real one

I've never ever seen that in the wild, but that would def. make it sane to use the blur tool.


I sometimes (but rarely) use blur to shift the attention focus on certain screen regions by blurring out other parts. Like an inverted highlighter. But mostly I actually use the highlighter function :-)


On Mac I swear by CleanShot X [1] which has more than justified its price many times over for me.

[1] https://cleanshot.com/


I agree, CleanShot X is the best thing I've found. Open to any alternatives that someone knows about, though!


This is my go-to screenshot tool for Linux; I've been using it almost daily for years now.

It's by no means as feature-rich as ShareX for Windows, but it works perfectly for what I need. It covers the essentials like simple annotations, blocking out areas of screenshots, saving local copies, etc.

I made some tweaks to support my own custom image uploader API, and similar to the comment by geoka9, I have it set up to take a screenshot, upload to my app, and copy the URL into my clipboard all behind a single shortcut.


This is the tool I have been looking for quite some time. I don't know why my searches returned only the simplest screenshot tools that are available on Linux. I have been using ShareX on Windows and was surprised to not find a similarly powerful tool on Linux. Now, I know that it was because of my rusty duck-duck-fu (or search is basically useless nowadays).

Thank you for sharing.


I've been using ShareX (https://getsharex.com/) for some years, which is also open-source, and very featureful while not feeling too bloated, though Windows only.

I'll have to have a look at this next time I'm on a Linux desktop, as I found the options lacking compared to ShareX last time I looked.


I use ShareX for Windows and Flameshot for Linux. I wish ShareX worked for Linux. It's so good.


I initially installed for an ex-windows user that needed something similar to the snipping tool.

I quickly started using it for myself, it's very very convenient.


The reason I love is that I can create pixel-perfect screenhots and precisely pick what I want to cut out and, if necessary, add arrows, text, etc. It also allows you to copy into the Clipboard and now Facebook and others allow me to paste images, which saves me the effort of going through the file system.


Can this do OCR? I couldn't find in feature list so I'm guessing not yet.

I use Windows native screenshot tool because it supports OCR.


Is that on Windows 11? The Windows 10 tool doesn't, though there is a PowerToys feature to select an area and copy text (not accurate enough to be useful though).


Windows 11. Pro version but it shoudn't make a difference.

https://www.pcworld.com/article/2070861/windows-snipping-too...

I press Win+Shift+S then select the region of the text.


Piping a screenshot to tesseract seems easy, a quick search shows a plugin available to do so and no shortage of scripts.


This is my screencap tool - the 'pin' feature is particularly useful when debugging things. One minor annoyance is it struggles with DPI scaling across screens (i.e. multi-screen with different scaling factors on different screens). There's a long thread on github with workarounds.


What does pinning do? The docs just say "--pin: Pin the screenshot"


It's like a freeze frame for the section of the screen you snip. But you can move it around to other places.


I've been using it for years. Being able to quickly add arrows and highlights is fantastic.

My only wish is for it to be able to open existing files. I wish I could just open an image, make some edits, and save it. Unfortunately, you can only make edits to screenshots.


My long standing request has been SMOOTHING for the hand drawn pencil tool.

I want a smoothing slider so I can draw a circle and an arrow with the mouse and not have it look like I have sever palsy with a sclerosis topper.

Maybe someday.


Wouldn't it make more sense to separate the screenshot functionality and dump that into a separate editor - configurable which editor. Or do these utilities combine the functionality in some inseparable way?


I actually rebound my windows keys to use this instead of default windows snippet tool. Sure, if I need a high level of editing I’ll bring it into some other program (still using flame shot to take a capture). 95% the built in arrows, boxes, numbers, etc do the quick attention calling I need.

Bonus, this was a piece of ‘bloatware’ an admin rebuilt my computer with, but I came to love.


I use that daily. Very simple but has exactly the features I need.


This is great but I wish it had other storage options outside of Imgur. I use Dropshare on Mac and have it upload to my Nextcloud instance which also creates the share URL.


I prefer shutter. It's way uglier, but also has some features others don't have, like a history of shots, so you can make several in a row.


I just use ImageMagick's "import", and if I need to annotate the screenshot I have a shortcut to screenshot and open it in gimp.


I'm still looking for a Windows version of https://screen.studio


Because of how much optimized it is for MacOS, it may take very long or even never be on Windows. Similar to Zed.


Same! I haven’t come across anything like it yet.


I found https://getrapidemo.com/ but looks like it's still under development


My default screenshot tool on Linux, Mac and Windows. It works well.

Not super cool with aesthetics but it's flawless so yeah.


You know what Flameshot needs? A color picker and even w/o it, it's a very good piece of software.


If you use gnome you can use eyedropper


It's good but be sure to notice and read the help, to learn how to change colors and sizes.


Very nice, but I gotta give Greenshot the edge here, strictly from a usability standpoint.


Greenshot have great features - but i need to test flamshot ad it (also) looks promising…


Seems timely given that SnagIt has moved to a subscription model of £37 per year.


I use this nearly everyday on my Linux desktop - works great.


Flameshot is awesome, works very well with Linux Mint.


Spectacle from KDE and Flameshot both really good .


The annotate/draw in-place in flameshot just made me convert from spectacle.

Also on i3 spectacle is sometimes buggy, it misfires or loses the capture.


Might be old version? Plasma 6 spectacle have in place annotations and even video recording.


Spectacle is completely different now.


Great tool, using it for several years already.


Skitch is still better. But this is promising.


Is there any feature rich open source option for MacOS? I use and enjoy free shot on windows but I’ve struggled to find good options for the mac


I use Flameshot on Linux, and I've found that Shottr works great on macOS.


Flameshot works on macOS, too.


MacOS has pretty strong screenshot capabilities out of the box; honestly, makes me want the same for Windows.


shareX for windows is king sadly (slight learning curve, but feature rich). miss it under Linux


great app. I use the rectangle, arrow, and numbering annotation tools frequently


Numbering tool is a nice touch.

Click click click, paste in email and reference the numbers… much more clear than arrows and scribbles all over the place.


Flameshot is awesome.


Love it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: