Pretty and simple HTML photo galleries you can host yourself.

photo, video, gallery, self-hosted, html, gallery-html, photo-gallery
pip install simple-photo-gallery==1.5.4


Simple Photo Gallery

Check out the new Project Page!

With Simple Photo Gallery you can create beautiful and simple photo galleries that help you tell your story. Check out the example gallery.

Example gallery


  1. Installation
  2. Usage
  3. Hosting
  4. Configuration
  5. About

Simple Photo Gallery is a simple command line tool written in Python that helps you create static HTML photo and video galleries that tell a story. Thumbnails, HTML, CSS and JavaScript files are generated automatically and can be uploaded to any static hosting, like for example AWS S3 or Netlify. The most important features:

  • Responsive layout suitable for any device (including touch gestures support).
  • Image captions extracted from the image metadata (EXIF tags).
  • Fully customizable layout with sensible defaults to get started quickly.
  • Create a gallery from an existing OneDrive or Google Photos album, without downloading the photos.
  • Automatic upload of the gallery to AWS S3 or Netlify.
  • Based on the PhotoSwipe JavaScript library.


Simple Photo Gallery can be easily installed with pip. If you don't have pip, please install the latest Python release.

pip install simple-photo-gallery

Example Usage

You can quickly create a gallery with the default settings. For more detailed information see Usage.

  1. Collect all the photos and videos you want to have in the gallery into a folder.
  2. Open a terminal and go to the folder with your photos. Use the following command to initialize the gallery. The script will ask you a few questions, like gallery name or background image. You can always just press Enter for the default settings and change them later.
  1. To generate the photos' thumbnails and to create the gallery HTML, CSS and JS files use the following command:

The gallery is ready! You can view it by opening the index.html file in the public folder. The public folder contains all the files you need for your gallery and you can host it on any static hosting provider.

Note Your photos and videos are copied in public/images/photos.

  1. Optionally, you can directly publish the gallery on Netlify, which offers a free plan.

See Gallery Configuration for more details how you can customize your gallery. You can also find two example galleries in the examples folder.


You can automatically upload the gallery to AWS S3 or Netlify.

For Netlify you just need a free account and then you can run the following command to upload to a new website.

gallery-upload netlify

For AWS S3 you need to have Amazon Command Line Interface installed and configured and a bucket that can be accessed publicly (see the AWS tutorial for hosting a static website).

gallery-upload aws s3://<your_bucket>/<path>/

You can upload your gallery manually on any static hosting provider, like for example AWS S3, GitHub Pages, Netlify or others. Some scripts for automatic upload of the gallery are under work.


Simple Photo Gallery is developed by Vladimir Haltakov. I wanted an easy way to share photos with friends, but wasn't happy with the limited customization options that existing sharing solutions like Amazon Photos or iCloud offer.

Please contact me on Twitter if you have any questions, ideas for improvement or feature requests.