Skip to content
Library

Lens

Two pictures, one hidden under the other, and a round lens that follows the pointer or your finger to show what is underneath. Left alone it drifts on its own. For before and after, a drawing and the finished thing, day and night. Needs the EtchPress Runtime; without it the two pictures sit side by side.

ComponentInteractiveShowpiecesNeeds the runtime: plugin or Etch Studio

Live preview

Variant
Scheme
Width
Motion
A modern patio under a pergola with a living green wall and white chairs (before, muted)A modern patio under a pergola with a living green wall and white chairs (after)

The plot in March, and the same view in August.

etchpress.com/library/lens
Lens

Before you copy

This is a showpiece. It pastes into Etch like any other item and it is complete without anything else, but its motion comes from the EtchPress runtime: a small script that loads only on the pages that use a showpiece.

Etch for WordPress: download the EtchPress Runtime plugin from Downloads in your account, install it and activate it. Paste your licence key under Settings, EtchPress Runtime, and it updates from the Plugins screen like any other plugin.

Etch Studio: download the EtchPress runtime files from Downloads in your account, unzip them and drop them into your project's Asset Manager, then paste the item. Studio ships the files it needs with your site.

What you can build with it

Before and after. A plan and the finished build. A product and what is inside it. Day and night, summer and winter.

Props

image and alt (the picture you see); overImage and overAlt (the picture in the lens); caption (text, optional); size (select: small, medium, large)

States shown

At rest: the lens drifts slowly across the picture. Pointer or finger on the picture: the lens follows it, and goes back to drifting a moment after you leave; a vertical swipe still scrolls the page. Focused: the arrow keys move it. Reduced motion and no runtime: both pictures, side by side.

How to change it

Content and options are 6 props in the component's settings panel. Colour, type, spacing and radius follow your Automatic.css settings, so a change to the site's palette or scale changes this too. For anything else, edit the classes in the Style Manager, starting with .lens. Its behaviour is a small script that travels with the component; no plugin and nothing to install.

ACSS tokens used

space-xs, space-s, radius, text-s, text-dark-muted, focus-width, focus-color.

ACSS requirements

ACSS 4 defaults. Needs the EtchPress Runtime, 0.6.0 or later: the EtchPress Runtime plugin on WordPress, or the runtime's files dropped into the project's Asset Manager in Etch Studio. Without it you get the still version.

Version history

Version 1.0.0, October 3, 2026: First release, with the EtchPress Runtime 0.6.0.

Tested with

Etch 1.6.8 and ACSS 4.0.1. Version 1.0.0.

Needs the EtchPress runtime

The plugin on WordPress, or the runtime's files in Etch Studio. Without it you get the still version.

Lifetime members

Members copy this straight into Etch, ready to paste.

Used an earlier version? How to update it

Get lifetime access
Other builders

Want EtchPress for Bricks or the block editor?

Everything here is made for Etch. Pick the builder you use and leave your email: we write once, when EtchPress works there.

This field is required.