A picture is worth a thousand words! A cute dog photo, a funny GIF, or a snap of your customer's most recent purchase can take a campaign from good to great. Creative Library is your central workspace for managing the creative assets that you use in your Iterable campaign designs. With Creative Library, you can upload and organize images, videos, and documents, search and filter to find specific files, and preview and edit your creative assets—all in one place.
This article explains how to use Creative Library to upload and manage your creative assets in Iterable.
# In this article
# Required permissions
To access and use Creative Library, you need the Create and Manage Templates and Creative Library permission.
# How it works
When a file is uploaded to Creative Library, it's assigned a unique URL. You can seamlessly insert assets from Creative Library into your templates, and Iterable configures the template's HTML to reference the file's URL—ensuring fast, reliable message delivery.
Asset files are accessible on a per-project basis. Files uploaded to Project A's Creative Library cannot be accessed via Project B's Creative Library. However, asset URLs work in campaigns across projects.
Legacy file migration
Files that were uploaded to your project using Iterable's legacy asset management
tools (hosted on cloudfront.net) will continue to work in your templates and
campaigns without interruption. When you edit and save a template that contains
legacy files, Iterable will automatically migrate these files to your project's
Creative Library and update the file URLs in the template's HTML—ensuring a
seamless transition. All new files uploaded to Creative Library use the new
library.iterable.com (or library.eu.iterable.com) domain.
# Take a tour
To get to Creative Library, go to Content > Creative Library.
Here, you can see all the files that have been uploaded by you or your teammates in your project. You can switch between grid view and list view using the button in the upper right corner of the page.
The search bar at the top of the page lets you quickly find files based on a specific name or keyword.
NOTE
The search bar shows results for the specific folder you're currently in. To search all files in Creative Library, run your search in the All folder.
The Filters button lets you find groups of similar files based on shared characteristics. You can filter by:
- File type (JPG, PNG, GIF, etc.)
- File size
- Uploaded by
- Modified by
The Sort by menu lets you change the order of files in Creative Library. You can sort by:
- Last modified date
- File size
- File type
Click the arrow button to change the order from ascending to descending, or vice versa.
Use the tabs at the top of the page to quickly filter by file type.
# Supported files
The following file types can be uploaded to Creative Library:
# Images
- JPEG (
.jpeg,.jpg) - PNG (
.png) - SVG (
.svg) - GIF (
.gif) - WebP (
.webp)* - AVIF (
.avif)*
NOTE
When uploaded to Creative Library, AVIF and WebP files are converted into PNG images. If these files contain animation, the animation becomes a still image. (This ensures browser compatibility, as WEBP and AVIF are not supported in all web browsers and email inboxes.)
# Videos
- MP4 (
.mp4) - MOV (
.mov) - WebM (
.webm)
# Documents
- PDF (
.pdf)
Video and document files can be uploaded to Creative Library, but must be linked to in campaigns via their asset URL. See Adding Videos and Documents to Templates to learn more.
# File size limits
Creative Library has the following size limits for files:
-
For GIF files, the maximum size should be less than 8MB. As a best practice, use GIF files smaller than 1MB and less than 200 frames.
NOTE
Iterable attempts to accept GIF files up to 20MB, however, due to complexities in post-processing, GIF files larger than 8MB may possibly fail to upload or fail to display. For more information, read about problems uploading GIF files.
For all other file types, the maximum size is 20MB.
When a file exceeds 20MB, Iterable displays an error message and prevents the file from being uploaded.
Currently, there is no limit to the number of files that can be stored in Creative Library.
# Image dimensions and resizing
The maximum dimension for height and width is 1920px. Creative Library automatically resizes images that exceed this limit. For example:
- A square image of 3000px x 3000px resizes to 1920px x 1920px.
- An image of 2878px x 1800px resizes to 1920px x 1201px.
# Image conversion for optimal display
When an image from Creative Library is downloaded in a message, Iterable (via Cloudfront) delivers the most efficient file type to each recipient in order to reduce load times. This optimization enhances user engagement and lowers bounce rates. Iterable uses lossless conversion to ensure maximum image quality while optimizing.
When recipients are able to receive the image formats AVIF or WebP, Iterable automatically converts less-efficient file types to these formats using lossless conversion. When recipients are unable to receive WebP and AVIF images, the original image file type is delivered. The attempted image optimization conversion is as follows:
| Uploaded File Type | First Attempted Conversion | Second Attempted Conversion | Fallback |
|---|---|---|---|
| PNG | AVIF | WebP | PNG |
| JPG | AVIF | WebP | JPG |
| GIF | WebP | (None) | GIF |
| WebP | N/A | N/A | WebP (already optimal, not converted) |
# Uploading files
Creative Library supports batch file uploads—allowing you to review your selected files, rename and resize images, add or edit alt text, and select a destination folder before the files are processed for upload.
# Step 1: Select files for upload
There are three ways to upload files to Creative Library:
- Drag and drop local files
- Browse and select local files
- Import hosted files by their URL
# Option 1: Drag and drop local files
You can click and drag files from your device directly into Creative Library.
NOTE
When building a template with the Drag and Drop editor, you can upload assets to Creative Library and attach assets to your template at the same time. To do this, add an Image block to your template, click Browse, then drag your asset file from your computer onto the Insert File window that opens. Follow the prompts to seamlessly upload your file to Creative Library and insert it into your template at the same time.
# Option 2: Browse and upload local files
To browse or search your device for the files you want to upload, click Upload > Browse Files.
This opens your device's file explorer window, where you can find and select the files you want to upload to Creative Library.
# Option 3: Upload hosted files via URL
To upload hosted files (not stored locally on your device), click the arrow next to the Upload button and select Insert from URL. Then enter the URL for the hosted file you want to import to Creative Library.
# Troubleshooting tips for uploading hosted files
Sometimes, hosted URLs cannot be uploaded to Creative Library due to the hosting server's security policies, authentication requirements or permissions, or IP blocking. When this happens, there are a few things you can do:
- Download and upload: Download the file to your computer first, then upload it directly to Creative Library from your computer.
- Verify public access: Paste the URL into a private or incognito browser window. If it doesn't download automatically, the file is not publicly accessible and can't be uploaded to Creative Library via URL.
-
Check for "direct link": Ensure the URL ends with the file's extension
(for example,
image.jpg) and the URL does not link to a preview page (for example,viewer.html?file=...).
# Step 2: Review the queued files
Once you've selected your desired files, Iterable shows a list of the files that are queued for upload.
If desired, click each file to rename it or to add or edit the alt text. (Don't worry — you can also edit file metadata after uploading.)
If you want to remove any files from the upload queue, select the file(s) and click Delete, or click the X next to each file you want to remove.
To add additional files to the upload queue, click Browse Files and select the files you want to add.
# Step 3 (Optional): Select a destination folder
By default, files are uploaded to whichever folder you're currently in, but you can select a different destination folder if desired. While reviewing queued files, click Move to Another Folder and select the folder where you want the files to be uploaded.
NOTE
You can also move files to a different folder after they've been uploaded (see Organizing Files and Folders).
# Step 4: Upload your selected files
When you've finished adding, previewing, and editing the files you want to upload to Creative Library, click Upload.
Iterable assigns a unique URL to each image that's uploaded to Creative Library. When you add an image to a template, this URL is inserted into the template's HTML source. (See Adding Assets to Templates).
NOTE
An asset's URL doesn't change, even if the asset is moved to a different folder in Creative Library — so you can reorganize your files as often as you like without worrying about breaking the images in your templates.
# Managing assets
Creative Library includes tools that help you organize and manage your creative assets.
# Organizing files and folders
You can group files into folders to keep your creative assets organized and easy to find.
To create a new folder, click New Folder. Give your folder a unique, descriptive name (maximum 150 characters) and, if desired, choose a destination for the new folder.
To move assets into a folder, select one or more files or folders using the checkboxes, then click Move to Folder and select your desired destination.
# Editing image files
After an image file has been uploaded to Creative Library, you can edit its name, dimensions, alt text, and custom styles when you insert the image into one of your templates. (See Adding Assets to Templates.)
# Deleting files and folders
You can delete individual items or groups of items from Creative Library in two ways:
- Use the checkboxes to select multiple files or folders and click Delete.
- Click the three dots (⋯) next to a single file or folder and select Delete.
IMPORTANT
It isn't possible to recover deleted files. Before you delete items from Creative Library, review your selections to ensure you don't accidentally delete items you wish to keep.
When you delete a folder, any files or folders within that folder are also deleted. Before deleting a folder, check the folder's contents to make sure you're okay with deleting everything that's inside. If there are any items you wish to keep, move them to a different location before deleting the folder.
Deleted files no longer appear in Creative Library and are unavailable to be added to future message templates. However, the URLs associated with deleted files are cached in Iterable's database — this means that any upcoming or recurring campaigns that reference deleted files still render as expected at send time.
# Adding assets to templates
When you add an asset to a template, the file's unique URL is inserted into the template's HTML source. Here's how to add files to templates using Creative Library in each of Iterable's supported template editors.
# Drag and Drop Editor
To add an asset to a template built in the Drag and Drop editor, drag an Image content block onto the canvas. Click Browse, select your desired file (or drag a file from your computer onto the Insert File window), then click Insert.
If desired, click Apply Effects to use the Drag and Drop editor's built-in image editing tools to crop and resize the image, or add effects such as a frame, filters, or stickers.
NOTE
When building templates with the Drag-and-Drop editor, alt text saved in Creative Library does not auto-populate in the template — it must be manually added to the image block.
To learn more about building templates with the Drag and Drop editor, see Drag and Drop Editor.
# Editing or replacing an asset
Need to edit or replace an asset in one of your templates? Double-click the asset in the template to open the Edit menu. Adjust the asset's alt text, dimensions, and custom styles, or hover over the content and click Change Image to replace it.
NOTE
Replacing an asset changes the URL in the HTML source, so use caution when replacing assets in templates.
# WYSIWYG or Side by Side Editor
To add an asset to a template built in the WYSIWYG or Side by Side editor, click the Images button. Select a file and (optionally) edit the file's alt text, dimensions, and custom styles. When you're ready to add the file to your template, click Insert.
You can also double-click on an image or line in your HTML to open the Creative Library and replace an image.
NOTE
Changing an asset's attributes only updates the content that's been inserted in
the template you're actively editing. The adjusted attributes are applied to the
<img> tag in the template's HTML, not to the original file hosted in Creative
Library.
To learn more about building templates with these editors, see WYSIWYG Editor and Side by Side Editor.
# Templates for WhatsApp, SMS, push, and web push
For WhatsApp, SMS, push, and web push templates, you can add media files in the Details section of the template page.
Scroll down to the Media URL or Icon field. Click the image button and select a file from Creative Library, or paste a URL for a hosted file into the field.
# Adding videos and documents to templates
Creative Library supports video and document files, but these file types can pose unique challenges for message delivery on some channels. The following recommendations can help you choose the best method for including video and document files in your templates.
# Video files
Iterable does not support directly attaching large video files to templates, as this can cause delivery failures. Instead, the best approach is to host the video file on a web server or cloud storage and link to that URL in the template. Here's how video files work on different channels:
Directly embedding a video file in email templates is generally discouraged, due to poor support in clients like Gmail. Instead, link to the video with a thumbnail image (with a play button overlay), text link, or GIF that, when clicked, leads to the full video hosted on a landing page in the user's web browser.
# Text message (SMS and MMS)
SMS (Standard Messaging Service) does not support direct file attachments. MMS (Multimedia Messaging Service) supports limited file sizes, but carrier restrictions can block large video files.
Regardless of the type of multimedia you use, MMS messages may be up to 1MB in size, but we recommend keeping the limit of your MMS messages to 900kb, so you have enough data space for messaging encoding. This ensures your campaigns are delivered successfully. Keep video files small and link to them via shortlink.
# Push notifications
Most modern mobile devices (iOS 10+ and Android 4.1+) support rich media notifications that include video. However, video files must be relatively small (under 20MB). Include the direct link to the video file in the push notification payload. On compatible devices, the user can see a thumbnail and click to play the video directly from the notification.
# In-App messaging
In-app is a great channel for rich content because it allows autoplay and click-to-play functionality. Use HTML5 tags to embed a video file directly into an in-app message, ensuring it plays without the user leaving your app.
The WhatsApp Business API allows you to send rich media, including videos. Include the link to the video file in a WhatsApp template (WhatsApp often renders a preview). Or you can send the video file directly if it is under the file size limit (usually 16MB or up to 20MB).
# Document files
Iterable does not support directly attaching PDF documents to message templates. Instead, the PDF must be hosted (in Creative Library or on your own server) and linked to via URL. Here's how to link to a PDF document file in different channels:
Iterable does not support adding PDFs as attachments in marketing emails, as this increases spam risk. Instead, use a CTA button or hyperlinked image/text that directs users to a browser-based viewer. Users click the link, and the PDF opens in their browser or default PDF viewer. Use UTM parameters on the link to track click-through rates.
# Text message (SMS and MMS)
Keep the SMS body short and clearly state that it links to a document. Include the PDF's URL directly in the text message. (Iterable will convert the PDF URL to a shortlink if you use that function.)
# Push notifications
Since push notifications act as a trigger to bring users back into your app, the PDF link should point to a PDF hosted within your app or a mobile-optimized webpage (so using an Iterable-hosted PDF link is not recommended).
# In-App messaging
You can use an in-app message to display a PDF while a user is actively using your app (for example, a "Terms of Service" or "User Guide" button). The PDF can load instantly in a web view or trigger an in-app download.
You can send PDF documents directly via the WhatsApp Business API, or simply paste a URL. WhatsApp usually displays a document preview in the body of the message, making it look integrated.
# Best Practices for PDFs
Host, Don't Attach: Host the PDF on a web server (for example, Iterable's Creative Library, Amazon S3, Google Drive, your website) and share the link to avoid spam filters and ensure it works on mobile devices.
Mobile-Friendly Design: Ensure your PDF is optimized for mobile viewing (single column, readable font sizes, reasonable file size).
Tracking PDF Engagement: To track if a user actually opened the PDF after clicking, use a dedicated tracking service or append UTM parameters to the URL.
Naming Conventions: Remove spaces from file names before uploading to prevent broken links in SMS/emails. (Iterable replaces spaces in filenames with dashes (
-).)
# File hosting and security
Files that are uploaded to Creative Library are hosted on Iterable’s AWS infrastructure via Amazon CloudFront. When you upload an image to Creative Library, Iterable assigns the image a unique URL that is referenced in any templates that use that image. URLs of images stored in Creative Library have a consistent structure with the following format:
USDC-based projects:
https://library.iterable.com/{orgId}/{projectId}/{uniqueHash}-{filename}.{extension}EDC-based projects:
https://library.eu.iterable.com/{orgId}/{projectId}/{uniqueHash}-{filename}.{extension}orgId: Your organization's unique IDprojectId: Your project's unique IDuniqueHash: A random, alphanumeric hash that prevents external parties from guessing asset URLsfilename: The name of the file as uploadedextension: The image file's extension (for example,.png)
For best results, ask your IT team to whitelist the library.iterable.com domain
to prevent issues with building templates.
NOTE
Because every image file is assigned a unique random hash upon upload, it isn't
possible to predict image URLs using simple string concatenation with Handlebars
(for example, .../logos/.png will not work). To insert dynamic
assets in an Iterable template, we recommend using Catalog,
Snippets, or
Handlebars #assign logic.
# Considerations for uploading GIF files
Creative Library doesn't enforce a hard limit on GIF file sizes below 20MB. However, due to complexities in handling GIF files and post-processing, animated GIF files greater than 8MB in size and/or with other parameters that increase GIF complexity, can possibly fail to upload or fail to display.
Therefore, we recommend using GIF files smaller than 8MB to avoid potential issues.
When a GIF file is too large for Iterable to support, there are varying behaviors:
- It may fail to upload to the library.
- It may seem to upload successfully but doesn't display properly, such as a blank image or errors accessing the file's uploaded URL.
If you encounter these issues, try creating a smaller GIF file within these recommended parameters:
- File size: less than 1MB (best practice)
- Frame count: less than 200 frames (best practice)
- Dimensions: 1920px or less for width and height (larger dimensions are automatically resized)
# Want to learn more?
For more information about some of the topics in this article, check out these resources. Iterable Academy is open to everyone — you don't need to be an Iterable customer!
Iterable Academy
Support docs