Scroll Zoom Image Stack (Ken Burns)

Desktop · 1280px · shown at 0% · scroll inside the preview to see the effect

Scroll Zoom Image Stack (Ken Burns) — Free Website Section Template

Scroll effects · v3.0.0 · Updated 2026-10-30 · Responsive · GSAP animation · HTML, React & Vue

Tagsscrollken burnszoomimage stackpinnedlayersgsapscrolltriggerdark
Updated October 20, 2026

What's included

Features

Images layered in a stage that pins while you scroll
Each new image starts small, as a rounded card on top of the last, then zooms up to fill the stage
Zoom intensity from 5 to 100 percent sets how small each image starts
Zoom in, or zoom out so the top image shrinks away and uncovers the next
Optionally the image beneath also drifts closer for a Ken Burns depth effect
Scroll range per image, from fast to slow, set as a share of the screen height
Smoothness control so the zoom eases instead of jumping
Corners square off and the card shadow fades as each image reaches full size
Title and caption for every image, with a counter and progress bar
Plain column of images without GSAP or with reduced motion, and a pin that respects sticky headers

About this section

Scroll Zoom Image Stack: Free Images That Start Small and Zoom Up on Scroll

Scroll Zoom Image Stack (Ken Burns): A pinned stack of images, one layered over the other. The first image fills the stage. As the visitor scrolls, the next image first appears small, as a rounded card in the middle on top of the one before, and then zooms up until it fills the whole stage. Then the next one appears small on top of that, and so on. Choose how small each image starts, the direction (zoom in, or shrink the top image away), whether the image underneath drifts too, how much scrolling each image gets, how smooth it feels, and give every image its own title and caption. Built with GSAP ScrollTrigger and no extra library; without it the images become a simple column.

Scroll Zoom Image Stack layers several images one over the other in a pinned stage. The first image fills the stage. As the visitor scrolls, the next image first appears small, as a rounded card in the middle on top of the one before, and then zooms up until it fills the whole stage. Then the following image appears small on top of that, and so on. It is built with GSAP ScrollTrigger and one scrubbed timeline, so the effect follows the scroll exactly and plays backwards when scrolling up.

How the stack works

The stage is pinned to the screen while the page scrolls. Each new image starts at a size you choose, with rounded corners and a soft shadow so it reads as a card lying on the previous picture. Over its share of the scroll it scales up to full size while its corners square off and the shadow fades, and the picture inside settles from slightly enlarged to normal, which gives the zoom depth. Only transforms and opacity are animated, which the browser can do smoothly on the graphics card.

Settings you control

Set the zoom intensity from 5 to 100 percent: it is how small each image starts, so 45 starts it at about two thirds of the stage and 80 makes it zoom a long way. Choose the direction: zoom in, where each new image grows up over the last, or zoom out, where the image on top shrinks to a small card and goes, uncovering the next. Choose which images are affected: the zooming image only, or also the image beneath it, which drifts slowly closer for a Ken Burns feel.

Scroll range and smoothness

The scroll range per image is the share of the screen height the visitor scrolls for each zoom: 100 percent is one screen, 60 is quicker and 200 is slower. The smoothness value, in seconds, lets the zoom ease into place instead of jumping with each wheel tick. A counter and a progress bar show where the visitor is, and every image has its own title and caption, which fade so two are never shown at once.

Fallbacks and accessibility

Without GSAP, or when the visitor prefers reduced motion, the images become an ordinary column with their captions, so nothing is hidden and the page reads the same. The pin respects a sticky header by stopping just below it, and every image has its own alt text.

Customise and export

Add two to eight images, upload your own, edit titles and captions, set colours and fonts, and export HTML, a ZIP, React or Vue, or fork it into My Code. For a pinned story with steps see the Pinned Scroll Story, or for stacking cards see the Stacking Cards.

Extend with AI

Take This Section Further With AI

Ask an AI assistant to adapt the Scroll Zoom Image Stack HTML, CSS and JavaScript: zoom from a point other than the centre, add clickable dots, tie a headline to each image, or turn it into a React component with a ScrollTrigger cleanup.

Prompt to recreate it

Copy this into your AI assistant of choice to build the effect from scratch, or as a jumping-off point for your own variant:

text
Create a stacked image zoom on scroll with plain HTML, CSS and GSAP ScrollTrigger.

- A rounded stage with four full-size image layers stacked on top of each other (position absolute, inset 0, later images with a higher z-index), each image with object-fit cover, plus a title and caption at the bottom left of each layer.
- The first image fills the stage at the start. Hide the other layers and set each to scale 0.65 with border-radius 30px and a soft box-shadow, so it is a small card in the middle.
- One GSAP timeline with scrub and pin: pin the stage and set the scroll length to the number of transitions times the screen height. For each following image, fade the card in quickly, then scale it from 0.65 to 1 while its border-radius goes to 0, its shadow fades out and the picture inside settles from scale 1.22 to 1. At the same time let the image beneath drift to scale 1.1.
- Fade the caption of the previous image out as the next card appears and fade the new caption in near the end of the zoom, so two captions never show at once.
- Settings as data attributes: zoom intensity (how small an image starts), direction (in, or out where the top image shrinks to a card and fades), whether the image beneath also drifts, scroll range per image as a percentage of the screen height, and scrub smoothness in seconds.
- Show a counter ("01 / 04") and a thin progress bar that follow the scroll progress.
- Without GSAP or with prefers-reduced-motion, show the images as a normal column and do not pin. Pin below a sticky header and refresh ScrollTrigger on window load.

Want to tighten it up first? Run this prompt through the AI Prompt Studio to score it across 8 quality dimensions, catch anti-patterns, and tune the wording for Claude, ChatGPT, or Gemini before you paste it in.

Why use it

Why Use the Scroll Zoom Image Stack (Ken Burns)

🎞
A cinematic scroll without video
Images arriving small and zooming up over each other feel like a film sequence, with small files and none of the autoplay or bandwidth problems of video.
🎚
Every setting is exposed
Intensity, direction, which images move, scroll range and smoothness are plain fields in the editor, so you can tune the feel without code.
⚙
One timeline, built on GSAP
ScrollTrigger pins the stage and scrubs a single timeline, so scrolling back up reverses the effect exactly and it refreshes on resize.

How it’s different

How It’s Different From Other Free Section Templates

✎
Editable, not just copyable
Change text, links, images, colours and fonts in the browser before you export, instead of editing someone else’s code by hand.
◐
One theme for every section
Colours, fonts, radius and width are shared CSS variables, so every section you combine looks like one website.
⇲
Responsive by container
Container queries make each section adapt to its own width, in a full page, a column or a page builder.
✦
GSAP animation built in
Every section animates in with GSAP and ScrollTrigger, stays visible without JavaScript and respects reduced motion.
</>
HTML, React and Vue
Export a single HTML file, a ZIP with your images, a React component or a Vue component, or fork the code into My Code.
◍
Free, private, saved
No account and no watermark. Designs, uploaded images and fonts stay in your browser, with a backup file you can restore anywhere.

Step by step

How to Use

  1. 1
    Edit the contentFill in the heading, zoom effect and image stack in the panel. Switch the heading on or off. Wrap words in *asterisks* to colour them.
  2. 2
    Add your imagesUpload your own images (resized in your browser and kept on your device) or paste a hosted image URL.
  3. 3
    Match your brandPick a colour preset or exact colours, choose heading and body fonts from Google Fonts or your own uploaded font, set the corner radius and width, or apply your brand kit.
  4. 4
    Animate and previewThis section is driven by scrolling: scroll inside the preview to see the effect, press Refresh to restart it from the top, and check the section on desktop, tablet and mobile.
  5. 5
    Save and exportSave it to My designs, then export a single HTML file, a ZIP with your images, a React or Vue component, or fork it into My Code.

Real-world uses

Common Use Cases

📷
Photography and travel stories
Take visitors through a trip or a shoot one place at a time, each photograph arriving small and zooming up to fill the screen.
🏨
Hotels, restaurants and venues
Move from the lobby to the rooms to the dining table in one scroll, with a caption on each image to say what visitors are seeing.
🏡
Real estate and property tours
Let a buyer scroll through a house room by room, each interior zooming up over the last until it fills the whole stage.
🚀
Product launches and case studies
Tell a before, during and after story in four images, with a zoom that gives each step of the result its own moment on screen.

In real websites

Website Templates That Use the Scroll Zoom Image Stack (Ken Burns) Section

The Scroll Zoom Image Stack (Ken Burns) section is part of 3 complete website templates in the free Website Builder, so you can see it in a full page before you use it on its own: Restaurant Website, Real Estate Agency Website, Hair & Beauty Salon Website. Open any of them in the builder to edit the whole page, or keep customising this section by itself.

Got questions?

Frequently Asked Questions

The images sit on top of one another in a pinned stage. A GSAP ScrollTrigger scrubs one timeline as you scroll: each new image appears small on top of the last and zooms up to fill the stage, and scrolling back reverses it.

Change the zoom intensity. At 45 each image starts at about two thirds of the stage, and at 80 it starts tiny and zooms a long way. Lower values give a subtle zoom close to full size.

Yes. Set the direction to zoom out and the image on top shrinks to a small card and disappears, uncovering the next image underneath, which is already full size.

It sets how far the visitor scrolls for each zoom, as a percentage of the screen height. At 100 each image takes one screen of scrolling, lower values are faster and higher values are slower.

They see the images as an ordinary column with their titles and captions. Nothing is pinned or hidden, so the content reads the same, only without the zoom.

It saves an editable copy of your Scroll Zoom Image Stack (Ken Burns) in My Code, the UI Snippets code editor: the section markup goes in the HTML panel, its CSS (theme variables, base styles and layout) in the CSS panel, and the GSAP library is added as a CDN link, so you can keep refining the code and save your own versions.

Yes. It is free for personal and commercial websites, with no sign-up, no watermark and no attribution required. Everything runs in your browser and your edits are saved locally.