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.
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:
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.
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!
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 :-)
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).
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.
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.
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).
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.
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.
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.
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.
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.