119

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.

14 Answers 14

110

Warning: Shutter is severely broken in Ubuntu 18.04 and was briefly dropped from Ubuntu for some releases, but it is now available again in 22.04 and newer.

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

22
  • 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, 2010 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, 2010 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. Oct 5, 2010 at 2:34
  • 3
    @aperson imgur support is there now :)
    – davetapley
    Aug 10, 2012 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, 2018 at 12:03
62

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.

16
  • 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, 2018 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, 2018 at 0:36
  • 4
    +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. Mar 15, 2019 at 9:18
  • 3
    I have installed the latest release and text annotations are already available. Aug 9, 2019 at 6:47
  • 8
    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, 2020 at 9:10
21

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:

$ sudo apt install ksnip

Or via snap:

$ sudo snap 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
6
  • 9
    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, 2020 at 3:22
  • 2
    Ksnip now comes as a snap too sudo snap install ksnip, and works just fine on vanilla Ubuntu (i'm using 18.04). Sep 16, 2020 at 17:01
  • 3
    snap install ksnip Is the only viable route now Nov 6, 2020 at 22:32
  • 1
    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. Nov 6, 2020 at 23:58
  • 1
    I can confirm @RoelVandePaar, on the left and top side of the image there are extra pixels added outside the selection area. The right and bottom do line up with the selection area.
    – raphael75
    Nov 8, 2021 at 20:09
12

I would use Inkscape

(that can be installed from the Ubuntu Software Centre or sudo apt install inkscape).

Install via the software center

enter image description here You will need to right click the image, select Open WithOther Application… and chose Inkscape from the list. After you have done this the first time, you can just Right Mouse ClickOpen WithInkscape.

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 FileExport Bitmap, click Browse… and chose your original image.

7
  • 2
    +1 to inkscape. Man, this is awesome. IMO there is a learning curve though - albeit smaller than, say, photoshop.
    – koushik
    Sep 6, 2010 at 5:47
  • 22
    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, 2012 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. Mar 23, 2015 at 12:54
  • 7
    This is like killing flies with heavy artillery... Jul 13, 2017 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, 2020 at 9:28
7

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

4
  • gpaint was the perfect recommendation for me, minimal small, deps and basic to quickly mark up a screenshot
    – Maks
    Sep 7, 2014 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)? Nov 1, 2016 at 0:47
  • 10
    For anyone looking, Gnu Paint does not have an undo function... rendering it pretty useless Jun 29, 2018 at 1:59
  • gpaint is really nice. a couple levels of undo would really rock though.
    – simgineer
    Apr 12, 2019 at 1:01
5

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

2
  • 2
    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, 2019 at 19:20
  • Just one question... why instead of icons do I see text for each tool e.g. "Selection (Free-Form)" instead of the icon in the upper left of the group of icons?
    – Michael
    Aug 16, 2021 at 16:03
4

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

3
  • 1
    Although It is not obvious to think at presentation software for this task, this is indeed a very good suggestion.
    – Cie6ohpa
    Apr 16, 2020 at 6:43
  • 1
    Seems pretty useless if one cannot edit the annotations afterwards. An additional issue is the aspect ratio and size of the slide. Jun 28, 2021 at 12:07
  • @SergeStroobandt I believe @ rlib was explaining that other software — example provided: Shutter — have the disadvantage of not being able to modify annotations after closing the file. I feel it was mentioned only to contrast Impress' advantage in this regard.
    – Levente
    Aug 8 at 1:58
4

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.

4
  • 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, 2010 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. May 23, 2012 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, 2012 at 15:25
  • 1
    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. Nov 1, 2016 at 0:46
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
1
  • Can you capture other areas than the web page content with this tool? E.g. can you capture the Chrome DevTools? Nov 1, 2016 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/

1
  • Please mention the limitations of Awesome Screenshot. Can you take a screenshot of the browser's DevTools, for example? Nov 1, 2016 at 0:49
1

Xournal++ is the tool for freehand note taking or annotating pdf files, or anything you cut and paste in your document(text, graphics). I use Xournal++ in combination with a stylus for true free hand input as my goto tool when giving lectures online. This allows me to use any reference material as a background such as pdf documents or images and add annotations in real time while explaining the subject at hand.

Install using snap, more installation options here.

sudo snap install xournalpp

Here is an example screenshot from Xournal++ website

Xournalpp demo

1

No one is talking about Image Magick. It is the simplest and the fastest app with one of the goals of is to make annotations.

It can be installed by sudo apt install imagemagick and launch the GUI from the search activity (dash). Here is the screenshot.

Example of annotation with ImageMagick

1
  • 1
    OMG, I have annotated an image with Imagemagick, opened from, and saved back to the disk! But the user experience, the user experience was shocking. OMG. I mean it works, but, holy moly, it's like from the 1960's. To illustrate through text editors, almost as if trying to use nano, where my normal UX expectation is Libreoffice... I mean, if you are stuck on a spaceship with only Imagemagick installed, it will be a blessing, because it does the job indeed. But as soon as you are back to Earth, you would be looking for something more smooth...
    – Levente
    Aug 8 at 2:09
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/

1
  • 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, 2012 at 17:47
0

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

2
  • 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, 2014 at 15:02
  • 7
    requires flash....
    – virtualxtc
    Nov 8, 2018 at 0:27

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