How do I add images to my survey?
Conjointly supports the use of pictures in a variety of popular formats (JPEG, PNG, etc.).
Upload images for conjoint attributes and levels
You can insert images for each level through the
button:Upload multiple images for conjoint levels at once
Multiple packshots can be easily added directly from PowerPoint and other file formats through
at the bottom of each attribute:Upload images to additional questions
You can insert images by clicking
button in the additional questions:Image optimisation utility
If you have multiple images as part of the inputs for your study, it is important to ensure that the images are consistent across the study. For that, we would recommend using the Image Optimisation tool for the best results.
- Click the Utilities option from the left-hand menu and select Image optimisation.
- Upload your images by clicking the grey rectangle and selecting from files or by dragging your images into the same space.
- Continue to Step 2 and select which images you want in your survey.
- Continue to Step 3 to edit image size, spacing, and background colour.
- Continue to Step 4 to complete image optimisation process and click the “Download zip” button on the bottom-left to download a .zip file of your optimised image files.

Frequently asked questions on images used in experiments
What file type should I use to upload my images?
All common image files extensions such as JPG, JPEG, PNG and GIF are supported on the Conjointly platform.
Is there a file size limit to the images that can be uploaded?
No, however, for a more robust experiment we recommend that all your images be optimised and standardised so that images of products of different sizes can be more accurately compared.
You may use the image optimisation utility on the Conjointly platform to optimise and standardise your image.
How can I let the respondents see the fine details on my packshots?
You can enable zooming
or magnifying glass
when uploading an image so that the respondents can see the fine details on your packshots.

Zooming
will open the packshot in full size when the respondents click on the image while magnifying glass
will magnify a certain part of the image when the respondents hover the mouse cursor over the image.
How to standardise sizes of images for experiments
When uploading pack shot images of products of different sizes, we highly recommended that all the sizes of images are standardised, this allows the respondents to have a better visual context of the difference in the products.
![]() | ![]() |
Standardising image sizes with Microsoft PowerPoint:
If you have a small number of images (e.g. less than 100), we recommend doing the image sizes standardisation manually so you have a better control of the sizes. You can easily do so in Microsoft PowerPoint:
- Create box shapes of identical size in a blank slide.
- Paste in the images and adjust the size accordingly
- Remove the outline of the boxes
- Highlight each individual box together with the image inside, right click and save it as a new image to be uploaded.
Standardising image sizes with R code:
If you have a large number of images (e.g. more than 100) and don’t have the luxury to standardise their sizes manually, the alternative solution is to perform an automated image sizes standardisation via R code we have shared below. However, this solution requires some basic coding skills and a few attempts of trial-and-error. We suggest reviewing the standardised images just to ensure their overall quality.
Specifically, you will have to define the following parameters, in which some require trial-and-error to find the optimal value:
sourceDir
as the folder containing your imagestypes
as the format of your images(e.g. png, jpg),outputFormat
as the desired format of the standardised imagepadding
as the ratio of image padding (i.e. adding spaces)maxPixels
as the maximum size of the images
#' Image proportion standardiser
#' Settings:
#' sourceDir: directory where source images are
#' types character vector of file extensions to include default c("png", "jpg", "PNG", "JPG")
#' outputFormat: string of output image type, default "png"
#' padding: ratio for image padding 1.05 = 5% image padding
#' maxPixels: size to crop images to, images smaller than this are not changed
{
library(magick)
library(tools)
library(rsvg)
sourceDir <- "."
types <- c("png", "jpg", "PNG", "JPG")
outputFormat <- "png"
padding <- 1.05
maxPixels <- 1000
}
{
files <- list_files_with_exts(sourceDir, types)
if(!dir.exists("edited/")){
dir.create("edited/")
}
for(file in files){
productImg <- image_read(file) %>%
image_trim() %>%
image_background(color = 'white')
imageData <- image_info(productImg)
maxDim <- max(imageData$width, imageData$height) * padding
whiteBackground <- image_read_svg(paste0("<svg><rect x='0' y='0' width='",
maxDim ,
"' height='",
maxDim ,
"' fill='white' stroke-width='0'/></svg>"))
finalImg <- image_composite(whiteBackground,
productImg,
offset = paste0("+", (maxDim - imageData$width) / 2, "+", (maxDim - imageData$height) / 2)) %>%
image_scale(paste0(min(maxPixels, maxDim)))
image_write(finalImg,
path = paste0("edited/", file_path_sans_ext(basename(file)), ".", outputFormat),
format = outputFormat)
}
}