103

Often I need to annotate (draw some arrows, lines, basic shapes like squares, ellipses etc and enter some text) on top of pictures (JPG, PNG images) and screenshots (again png images). I would also need to be able to crop, resize etc.

I tried the Gimp but I could only enter text and perform all image transformations but couldn't find a way to draw boxes etc.

I finally settled to Openoffice.org draw, but I know that isn't what I want, because in oodraw I need to insert my pic into a drawing and resize it (or the drawing) to fit and then go about making changes and finally export to png...

Is there any image editor that allows adding shapes and text to jpg & png files and save the modified file in its place? If the tool can also have template collections (like dia does) for shapes that is an added bonus.

12 Answers 12

106

Warning: broken. Shutter is severely broken in Ubuntu 18.04 and not available in later versions.

Shutter (which you can install from the Ubuntu Software Centre or sudo apt-get install shutter) is a tool which has a variety of options for taking and annotating screenshots. (Note: You can annotate any images of your choice, not just screenshots.)

Shutter example screenshot

| improve this answer | |
  • 9
    2 notes: 1. Inteface is indirect - need to click on the toolbar button for editing with in-built editor to get to the window which allows annotations to be made. 2. sudo aptitude install shutter doesn't install libgoo-canvas-perl which is required for enabling the edit button! Couldn't figure it out straight away: shutter complains of missing Goo::Canvas/libgoocanvas while aptitude search libgoocanvas show libgoocanvas3 is installed - the unmet (runtime) dependency is libgoo-canvas-perl. Thought of putting it here in case anyone wants to try out shutter after reading this. – koushik Sep 6 '10 at 6:22
  • 1
    Turns out there is a bug report, but it's been marked invalid :( bugs.launchpad.net/ubuntu/+source/shutter/+bug/549679 – 8128 Sep 6 '10 at 7:00
  • 6
    I just over-ruled the decision on that bug report, and uploaded a fix to maverick. libgoo-canvas-perl is now a Recommends and is installed by default. – andrewsomething Oct 5 '10 at 2:34
  • 3
    @aperson imgur support is there now :) – davetapley Aug 10 '12 at 4:10
  • 2
    And now completely borked for me in 18.04. :(( And not just the edit button -- I'm amazed people have it running at all. :/ – Dɑvïd Jun 9 '18 at 12:03
49

Flameshot

It comes with some cool annotation features like Freehand drawing, Lines, Arrows, Boxes, Circles, Highlighting, Blur, etc. It also comes with many on-screen buttons as well lots of customization options.

enter image description here

Its written with QT/C++ and it's very easy to install in Ubuntu(18.04+).

apt install flameshot

You can also try to compile for older versions.

| improve this answer | |
  • 2
    It looks like a new text tool is implemented and will be in the next release. Yay! I'll log an enhancement request for opacity control, and we'll see if the dev goes for it. ;) – Dɑvïd Jun 9 '18 at 12:00
  • 1
    It wasn't in my distros repository, but I was able to find a binary in another distro here: repology.org/metapackage/flameshot/packages – virtualxtc Nov 8 '18 at 0:36
  • 3
    +1 for this one but it's such a shame that it for some strange reason doesn't seem to allow annotations (text) to be added. – user1283068 Mar 15 '19 at 9:18
  • 2
    I have installed the latest release and text annotations are already available. – tomaskazemekas Aug 9 '19 at 6:47
  • 3
    This is not a general image annotation tool, it's a screenshot tool. As far as I can tell, you can only annotate screenshots you took with it, not open existing images into it. – Alex Jan 23 at 9:10
9

I would use Inkscape

(which you can install from the Ubuntu Software Centre or sudo apt-get install inkscape).

Install via the software center

enter image description here You will need to right click the image, select Open With -> Other Application... and chose Inkscape from the list. After you have done this the first time, you can just right click -> Open With -> Inkscape.

This will import the image into Inkscape and the page will be sized to fit the image. You can then make your annotations.

To save it, you need to use File -> Export Bitmap, click Browse... and chose your original image.

| improve this answer | |
  • 1
    +1 to inkscape. Man, this is awesome. IMO there is a learning curve though - albeit smaller than, say, photoshop. – koushik Sep 6 '10 at 5:47
  • 18
    I love inkscape but don't agree that it is a good tool for editing screnshots. Just see how hard it is to add a simple arrow. – snowguy Jul 11 '12 at 15:24
  • I came here looking for an alternative to this approach. If Inkscape could open in under 1 second and recognized that In fact I just opened it for annotating a screencapture then that would be awesome. But it doesnt, and we are forced to jump thorough hoops and wait for it to load which is not good when you have 30 screenshots to do in rapid succession. – Lennart Rolland Mar 23 '15 at 12:54
  • 4
    This is like killing flies with heavy artillery... – Fran Marzoa Jul 13 '17 at 15:39
  • I don't agree with @snowguy for my particular use case. I just needed to censor some confidential information in an image with black boxes and that was incredibly easy to do. Took me all of 20 seconds from launching Inkscape for the first time in my life. I think it's a great tool for editing screenshots. – Alex Jan 23 at 9:28
6

You also might want to try GnuPaint or Krita. Not sure if it's exactly what you're looking for, but they might work for you. Both are in the Software Center.

GnuPaint

enter image description here

Krita

enter image description here

| improve this answer | |
  • gpaint was the perfect recommendation for me, minimal small, deps and basic to quickly mark up a screenshot – Maks Sep 7 '14 at 5:55
  • @Maks: let's say you've added some text. How can you nudge it around to the desired position in the screenshot (e.g. to not obscure other elements of the image)? – Dan Dascalescu Nov 1 '16 at 0:47
  • 4
    For anyone looking, Gnu Paint does not have an undo function... rendering it pretty useless – Ben Winding Jun 29 '18 at 1:59
  • gpaint is really nice. a couple levels of undo would really rock though. – simgineer Apr 12 '19 at 1:01
6

Ksnip

Because I run KDE using GTK themed apps like Shutter is not ideal. After doing some research I settled on ksnip as a screenshot tool. It has pretty much everything you asked for (if you need to crop, just do it by taking another screenshot).

ksnip screen shot of a ksnip screen shot

Install

You can install ksnip buy downloading the .deb packages here https://github.com/DamirPorobic/ksnip/releases

or check if it's already in your version of Ubuntu's repository vi apt:

$ apt install ksnip

Build and install from source

$ sudo apt install g++ build-essential \
libqt5core5a libqt5dbus5 libqt5gui5 \
libqt5network5 libqt5svg5-dev libqt5widgets5 \
libqt5x11extras5-dev qt5-default qt5-qmake \
qttools5-dev qttools5-dev-tools \
cmake cmake-extras extra-cmake-modules

$ git clone https://github.com/ksnip/kColorPicker
$ cd kColorPicker/
$ mkdir build && cd build
$ cmake .. && make
$ sudo make install

$ git clone https://github.com/ksnip/kImageAnnotator
$ cd kImageAnnotator/
$ mkdir build && cd build
$ cmake .. && make
$ sudo make install

$ git clone https://github.com/ksnip/ksnip
$ mkdir build && cd build
$ cmake .. && make
$ sudo make install
| improve this answer | |
  • 1
    As of mid-2020, ksnip is the way to go for annotating existing images. I tried flameshot, kazam, spectacle, shutter, XnView MP, krita, KolourPaint, and nomacs. – Roger Dahl Jun 28 at 3:22
  • Ksnip now comes as a snap too sudo snap install ksnip, and works just fine on vanilla Ubuntu (i'm using 18.04). – Dale Anderson Sep 16 at 17:01
  • snap install ksnip Is the only viable route now – Roel Van de Paar Nov 6 at 22:32
  • It is very annoying it does not grab windows correctly. It includes (and at times non-uniform) border of 0-20 pixels around the window. – Roel Van de Paar Nov 6 at 23:58
5

If you want to stay in gimp, you can add boxes and circles/ellipses. Use the rectangle or ellipse selection tool, and when you have the marching ants, on the main menu click Edit/Stroke Selection, then make your line style choice.

There are gimp plug ins to do arrows (that I have not tried), however it took only a few minutes to find a clip art site, copy an arrow image, convert it to a transparent-background gif using these directions, and add it as a new layer to the image. The arrow layer can be moved, rotated, scaled, colored, etc.

| improve this answer | |
  • Informative. I knew there was a way to do it with the gimp. I also indeed want to stay with the gimp - since I already use it for so many other things. Thanks for the tip. – koushik Sep 7 '10 at 9:25
  • 1
    I have tried the arrow plugin, it's hard to use. I can't preview the arrow shape. I had to click the arrow menu item for each arrow line. Better then none, though. – Xiè Jìléi May 23 '12 at 6:43
  • I also have used the arrow plugin. Not a good solution. It only does straight arrows and if you do some long arrows and some short arrows the long arrows head gets too big and looks strange next to a shorter arrow. – snowguy Jul 11 '12 at 15:25
  • Gimp is a bitmap editor. Simple vector-like operations, let alone adding captions or arrows, are just not what Gimp was designed for. Use the right tool for the job. – Dan Dascalescu Nov 1 '16 at 0:46
4

On Ubuntu (or Linux Mint), try Kolourpaint. It's easy to use and has the features you describe.

enter image description here

Install via the software center

| improve this answer | |
  • 1
    ABSOLUTELY THE BEST ANSWER - sorry about the caps .. but I think its worth it. I found most other app to be buggy or bloated. This one is solid, does only what it needs to, and works perfectly with the Open With feature in Screenshot. Also its a small install. Krita is very bloated .. install was over 300MB, this is just 67MB. OP did not ask for screen-shotting feature .. I cannot fathom why flameshot is an answer unless its just a shameless plug. Ksnip and gnupaint aren't available for other flavors of Ubuntu (I'm on Xubuntu) – StartupGuy Mar 14 '19 at 19:20
3

I use LibreOffice impress https://www.libreoffice.org/discover/impress/ for annotations.

Just copy paste the image into the slide and add all the shapes and text which will serve as annotations. Then export to any of many available formats, like JPEG, PDF, etc.

Annotating with Impress keeps "annotations" as a separate layer allowing you to edit them at any time. On the other hand, if you annotate with, say, Shutter editing tool, once you saved the image with the annotations, you cannot undo the changes (you'll need to re-annotate the entire image from the initial state or use eraser tool to make corrections to existing annotations).

| improve this answer | |
  • Although It is not obvious to think at presentation software for this task, this is indeed a very good suggestion. – user23731 Apr 16 at 6:43
2

You can use firefox or Chrome web browser to do this. On firefox you have to install fireshot addon and on chrome "screen capture"

https://​addons.mozilla.org/en-US/firefox/​addon/​fireshot

Unfortunately fireshot works on Windows only. Here's a list of such addons. Please test them on your own. https://addons.mozilla.org/en-US/firefox/search/?q=screen+grab&appver=11.0&platform=linux

Screen Capture will do on Chrome

https://chrome.google.com/webstore/detail/cpngackimfmofbokmjmljamhdncknpmg
| improve this answer | |
  • Can you capture other areas than the web page content with this tool? E.g. can you capture the Chrome DevTools? – Dan Dascalescu Nov 1 '16 at 0:48
2

I recommend the "Awesome Screenshot" extension, You can easily add there text, simple arrows and other shapes.

Google Chrome

https://chrome.google.com/webstore/detail/awesome-screenshot-screen/nlipoenfbbikpbjkfpfillcgkoblgpmj

Firefox

https://addons.mozilla.org/en-US/firefox/addon/awesome-screenshot-capture-

Opera

https://addons.opera.com/en/extensions/details/awesome-screenshot-capture-annotate/

| improve this answer | |
  • Please mention the limitations of Awesome Screenshot. Can you take a screenshot of the browser's DevTools, for example? – Dan Dascalescu Nov 1 '16 at 0:49
0

You can take a look here, u'll find a lot of funny chrome extensions:

https://chrome.google.com/webstore/search-extensions/screenshot?hl=en-US

And this articile talks about some others:

http://www.hongkiat.com/blog/top-web-annotation-and-markup-tools/

| improve this answer | |
  • 2
    Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference (ie. post examples of the Chrome Extensions) – Oyibo Dec 31 '12 at 17:47
0

You can use Pixtick. Web tool, no installation required and free. http://www.pixtick.com

| improve this answer | |
  • 3
    Your answer would be improved by adding screenshots showing that the tool you recommend can do what the OP asks. – Elder Geek Sep 2 '14 at 15:02
  • 3
    requires flash.... – virtualxtc Nov 8 '18 at 0:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.