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.
Live preview


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

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 accessWant 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.