A computer-implemented method for displaying images, the method comprising: receiving a first selection of a first plurality of images for display in an image display area, each image having a respective aspect ratio; identifying a first grid having a first plurality of image display regions in the image display area, the first plurality of image display regions in the first grid having a size and/or a shape that is based at least in part on the respective aspect ratio of images in the first plurality of images; assigning the first plurality of images to respective image display regions of the first plurality of image display regions in the first grid; calculating a first set of sizes for displaying the first plurality of images within the respective image display regions of the first plurality of image display regions such that each image, of the first plurality of images, is displayed entirely within the respective image display region of the first plurality of image display regions while maintaining the aspect ratio of each image of the first plurality of images; receiving a second selection of an additional image to add to the image display area; adding the additional image to the first plurality of images to obtain a second plurality of images; identifying a second grid of a second plurality of image display regions in the image display area, the second plurality of image display regions in the second grid having a size and/or a shape that is based at least in part on the respective aspect ratio of images in the second plurality of images; assigning the second plurality of images to respective image display regions of the second plurality of image display regions in the second grid; and calculating a second set of sizes for displaying the second plurality of images within the respective image display region of the second plurality of image display regions such that each image, of the second plurality of images, is displayed entirely within the respective image display region of the second plurality of image display regions while maintaining the aspect ratio of each image of the second plurality of images; wherein a size and shape of at least one of the second plurality of image display regions in the second grid is different than a size and shape of any of the first plurality of image display regions in the first grid. receiving a first selection of a first plurality of images for display in an image display area, each image having a respective aspect ratio; identifying a first grid having a first plurality of image display regions in the image display area, the first plurality of image display regions in the first grid having a size and/or a shape that is based at least in part on the respective aspect ratio of images in the first plurality of images; assigning the first plurality of images to respective image display regions of the first plurality of image display regions in the first grid; calculating a first set of sizes for displaying the first plurality of images within the respective image display regions of the first plurality of image display regions such that each image, of the first plurality of images, is displayed entirely within the respective image display region of the first plurality of image display regions while maintaining the aspect ratio of each image of the first plurality of images; receiving a second selection of an additional image to add to the image display area; adding the additional image to the first plurality of images to obtain a second plurality of images; identifying a second grid of a second plurality of image display regions in the image display area, the second plurality of image display regions in the second grid having a size and/or a shape that is based at least in part on the respective aspect ratio of images in the second plurality of images; assigning the second plurality of images to respective image display regions of the second plurality of image display regions in the second grid; and calculating a second set of sizes for displaying the second plurality of images within the respective image display region of the second plurality of image display regions such that each image, of the second plurality of images, is displayed entirely within the respective image display region of the second plurality of image display regions while maintaining the aspect ratio of each image of the second plurality of images; wherein a size and shape of at least one of the second plurality of image display regions in the second grid is different than a size and shape of any of the first plurality of image display regions in the first grid.