# Images in macros Background, Cards, Gallery, Compare images and Banner all use one image picker, so the behaviour and the failure modes are identical across them. There are three ways to give a macro an image, and they behave differently on a published site. --- ## Three sources | **Source** | **How it behaves** | | ----------------- | -------------------------------------------------------------------------------- | | A page attachment | Travels with the page. The safest choice | | A direct URL | Loaded from wherever it lives. Needs the domain to be approved if it is external | | The picker | Browses what is available and sets one of the above for you | ⚠️ **An external image needs an approved egress domain.** Without one the browser is not allowed to fetch it, and the macro shows a placeholder rather than your picture. --- ## On a published site Images are downloaded at build time and rewritten to local paths, so a published site does not depend on your Confluence instance to render them. That is why attachments are the safest source. --- ## A few things worth knowing * Alt text is a real field and several macros have no editor control for it, falling back to the card or panel title. * A very large image makes the page heavy. Resize before uploading rather than relying on the macro to scale it. * The same picker appears in five macros, so learning it once covers all of them. --- ## Related [CardsThe most image-heavy macro.](https://help.gocapable.com/macros/cards.html) [GalleryMany images at once.](https://help.gocapable.com/macros/gallery.html) [AdministrationApproving external domains.](https://help.gocapable.com/macros/administration.html) --- _Attachments travel. URLs need approving._