To join images horizontally (in alphabetical order):
convert +append *.png out.png
To stack images vertically:
convert -append *.png out.png
That should be run in a terminal into the folder containing png files to join them all.
A gui for that would be:
a file manager context menu to join selected images.
An easy way when it comes to that is Thunar’s custom actions:
To join selected images vertically (into one png file, in alphabetical order, no matter their extension) add this custom action (‘Edit – Configure custom actions’):
convert -append %F joined-vertical.png
To join horizontally:
convert +append %F joined-horizontal.png
The same commands can be used in a .desktop file in /.local/share/file-manager/actions which adds a context menu for Nautilus and/or PCManFM.
Example for vertical join:
Name=Join images (vertically)
Exec=convert -append %F joined-image.png
Or We can easily join, i.e. “montage” images into one large image with the following command
montage -geometry 500 image1 image2 […] output
See the project page for many parameters of the geometry option. In the example above all images will be scaled to a width of 500 pixels before they are joined. Adapt this value for your image sizes. In case you need to have a fixed height choose x500 instead. The other dimension will be scaled to preserve the aspect ratio.