As you upload images into Mosaico mailings they get stored in a Mosaico "Gallery".

We're now beginning to find duplicate images in the gallery as different users have uploaded the same image at different times (or people using Mosaico hadn't spotted the gallery function and have re-used the same image several times).

mosaico editor with gallery tab open

Does anyone know which directory the gallery is saved in? Is there a way to give access to local users to allow them to manage the images there and remove the duplicates?



1 Answer 1


The answer is to the first of your two questions is: the images are stored in a subdirectory of the CiviCRM "Image Directory", which by default looks like [civicrm.files]/persist/contribute/.

The specific subdirectory it stores it in is: images/upload

You can see the code on line 153-ish of this file: https://github.com/veda-consulting/uk.co.vedaconsulting.mosaico/blob/2.x/CRM/Mosaico/Utils.php

The answer to the second of your two questions is: yes. If you create a new traditional mailing, you'll see a button in the wysiwyg window that lets you add/remove images. That tool will manage the same directory that Mosaico uses.

The answer to a question you didn't ask "how can a new mosaico mailing make use of existing images" is: along the top bar in the mosaico interface there's the same button (i.e. a picture of a mountain) which let's you reuse existing images in your "gallery". So you could also manually put a bunch of images into the images/upload directory for your civimailers to re-use.

  • Thanks Alan, We had found the add images from gallery option (that's how we found all the duplicates). Guidance on writing new emails is being revised to take this into account. I'll pass on the work round for finding the gallery folder via a "trad" mailing- that makes perfect sense. Thank you Feb 25, 2020 at 16:38
  • And thanks to you for asking the question, it hadn't occurred to me to ask and only by trying to answer it did I figure it out ...
    – Alan Dixon
    Feb 25, 2020 at 17:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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