Title: Twenty20 Image Before-After
Author: Zayed Baloch
Published: <strong>Abril 28, 2016</strong>
Last modified: Setyembre 26, 2026

---

Search plugins

![](https://ps.w.org/twenty20/assets/banner-772x250.png?rev=3241520)

![](https://ps.w.org/twenty20/assets/icon-256x256.png?rev=3241520)

# Twenty20 Image Before-After

 By [Zayed Baloch](https://profiles.wordpress.org/zayedbaloch/)

[Download](https://downloads.wordpress.org/plugin/twenty20.2.1.0.zip)

 * [Details](https://ceb.wordpress.org/plugins/twenty20/#description)
 * [Reviews](https://ceb.wordpress.org/plugins/twenty20/#reviews)
 *  [Installation](https://ceb.wordpress.org/plugins/twenty20/#installation)
 * [Development](https://ceb.wordpress.org/plugins/twenty20/#developers)

 [Support](https://wordpress.org/support/plugin/twenty20/)

## Description

Twenty20 is a professional-grade image comparison tool that helps you showcase transformations
in a highly engaging way. Perfect for:

 * Photography portfolios
 * Real estate before/after
 * Renovation projects
 * Design makeovers
 * Product comparisons
 * Restoration work
 * Medical procedures
 * And much more!

#### Video Tutorial

#### Live Demo

Check the [Live Demo](https://zayedbaloch.com/twenty20-image-before-after-wordpress-plugin/).

#### Key Features

 * Responsive design – works perfectly on all devices
 * Horizontal and vertical sliding options
 * Customizable slider position and orientation
 * Custom “before” and “after” labels
 * Adjustable image widths and alignments
 * Mouse hover sliding effect
 * Touch-enabled for mobile devices
 * Multiple sliders per page
 * Widget support for sidebars
 * Native Gutenberg block with live preview and sidebar settings
 * SEO-friendly with proper alt tag support
 * Accessibility compliant image comparisons

#### Page Builder Support

 * Block Editor (Gutenberg) — native Twenty20 Before-After block with live preview
 * Elementor
 * WPBakery Page Builder (Visual Composer)
 * Flatsome UX Builder
 * Classic Editor

#### Perfect For

 * Photography before/after edits
 * Home renovation comparisons
 * Web design makeovers
 * Product transformations
 * Restoration projects
 * Beauty transformations
 * Real estate renovations

### Usage

#### Shortcode Example

**Quick Example**

    ```
    [twenty20 img1="" img2="" direction="vertical" offset="0.5" align="right" width="60%" before="Before" after="After" hover="true"]
    ```

**Shortcode Parameters**

 * `img1` – image ID.
 * `img2` – image ID.
 * `offset` – range from 0.1 to 1.0.
 * `direction` – `horizontal|vertical`.
 * `align` – `none|right|left`.
 * `width` – supports both `px` and `%`.
 * `before` – text for the “before” label.
 * `after` – text for the “after” label.
 * `hover` – `true` or `false`.

## Screenshots

[⌊Add a Twenty20 before-after image.⌉⌊Add a Twenty20 before-after image.⌉[

Add a Twenty20 before-after image.

[⌊Select any two images from the Media Library.⌉⌊Select any two images from the 
Media Library.⌉[

Select any two images from the Media Library.

[⌊Twenty20 shortcode settings page.⌉⌊Twenty20 shortcode settings page.⌉[

Twenty20 shortcode settings page.

[⌊Shortcode.⌉⌊Shortcode.⌉[

Shortcode.

[⌊Twenty20 in action.⌉⌊Twenty20 in action.⌉[

Twenty20 in action.

[⌊Multiple sliders in different directions.⌉⌊Multiple sliders in different directions
.⌉[

Multiple sliders in different directions.

[⌊Twenty20 widget.⌉⌊Twenty20 widget.⌉[

Twenty20 widget.

[⌊Widget in action.⌉⌊Widget in action.⌉[

Widget in action.

[⌊WP Bakery Visual Composer settings.⌉⌊WP Bakery Visual Composer settings.⌉[

WP Bakery Visual Composer settings.

[⌊Elementor element.⌉⌊Elementor element.⌉[

Elementor element.

[⌊UX Builder element.⌉⌊UX Builder element.⌉[

UX Builder element.

[⌊Gutenberg block with live preview and sidebar settings.⌉⌊Gutenberg block with 
live preview and sidebar settings.⌉[

Gutenberg block with live preview and sidebar settings.

## Blocks

This plugin provides 1 block.

 *   Twenty20 Before-After Interactive before/after image comparison slider with
   touch support.

## Installation

 1. Upload the `twenty20` folder to your `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Add the “Twenty20 Before-After” block in the block editor, use the shortcode `[
    twenty20]` in your posts/pages, or use the widget

#### Quick Start Guide

 1. Click the “Add Twenty20” button in your editor
 2. Select your before and after images
 3. Customize settings as needed
 4. Insert and publish

## FAQ

### How it works?

Twenty20 works by stacking two images on top of each other. As the slider moves 
across the image.

### Quick Example

[twenty20 img1=”” img2=”” direction=”vertical” offset=”0.5″ align=”right” width=”
60%” before=”Before” after=”After” hover=”true”]

### Shortcode Parameters

 * `img1` – image ID.
 * `img2` – image ID.
 * `offset` – range from 0.1 to 1.0.
 * `direction` – `horizontal|vertical`.
 * `align` – `none|right|left`.
 * `width` – supports both px and %.
 * `before` – text for the “before” label.
 * `after` – text for the “after” label.
 * `hover` – `true` or `false`.

### How to add before-after slider?

Check the demo [Video](https://www.youtube.com/watch?v=1cQ9rhL-t70) demo.

### How do I add a slider with the block editor?

Add the “Twenty20 Before-After” block, pick the before and after images, then tune
the starting position, direction, labels, alignment, width, and mouse-hover behavior
in the block sidebar. The canvas shows a live preview that updates as you change
settings — click the preview to jump back to the block settings, or use the Preview/
Edit toggle in the block toolbar. The block uses the same secure renderer as the
shortcode.

### How do I add a widget?

Watch the [video demo](https://www.youtube.com/watch?v=1cQ9rhL-t70) on YouTube.

### Can I use more than one slider in a single post or page?

Yes, the Twenty20 plugin allows users to add unlimited before-after sliders.

## Reviews

![](https://secure.gravatar.com/avatar/f3d659e966383b6cb4a6f0bdd74ee3baaa1092be9e2a0a7c4c75781fe01ac210?
s=60&d=retro&r=g)

### 󠀁[Great plugin, fast support](https://wordpress.org/support/topic/great-plugin-fast-support-54/)󠁿

 [bing4](https://profiles.wordpress.org/bing4/) Agosto 12, 2024

Great plugin, fast support, simple, easy to use.

![](https://secure.gravatar.com/avatar/9ce6ff06228d96fe00b9c08997c548b95c07ec684b8683d1f965ed6717569f35?
s=60&d=retro&r=g)

### 󠀁[No Longer Working](https://wordpress.org/support/topic/no-longer-working-159/)󠁿

 [](https://profiles.wordpress.org/vegasdood/) Setyembre 24, 2023

Type for an update or get pulled.

![](https://secure.gravatar.com/avatar/35cbcb591e6ef4013bbd838ea1cb93cbfb26afd446df2946f7a1824692aa88c5?
s=60&d=retro&r=g)

### 󠀁[ブロックエディター未対応](https://wordpress.org/support/topic/%e3%83%96%e3%83%ad%e3%83%83%e3%82%af%e3%82%a8%e3%83%87%e3%82%a3%e3%82%bf%e3%83%bc%e6%9c%aa%e5%af%be%e5%bf%9c/)󠁿

 [tsutlnps149](https://profiles.wordpress.org/tsutlnps149/) Marso 24, 2023

恐らく、このプラグインはブロックエディターに対応していないので、Gutenbergでは画像
が挿入できないです。 あと、lazyload.jsや"loading=lazy"を使用すると、表示されなく
なったり画像下に空白ができてしまったりするバグがあるため、画像表示が崩れます。

![](https://secure.gravatar.com/avatar/69b138e5efa7d3db2c346235fc5a3bb933b9443a3e44ba74a01975c09b508920?
s=60&d=retro&r=g)

### 󠀁[Suberb plugin!](https://wordpress.org/support/topic/suberb-plugin/)󠁿

 [boraboraphotovideo](https://profiles.wordpress.org/boraboraphotovideo/) Marso 
21, 2022

Wonderful functionality for a photographer or photo re-toucher / editor. Easy to
install and implement, may be caused by another plugin conflict it recently had 
stopped working. The support was very prompt, the developer was able to solve the
issue right away!

![](https://secure.gravatar.com/avatar/b1ff3baf8b42e63403dba61fbcb17161837887361b6ee153500c862205bcd355?
s=60&d=retro&r=g)

### 󠀁[Good job](https://wordpress.org/support/topic/not-working-on-5-8/)󠁿

 [ucan74](https://profiles.wordpress.org/ucan74/) Setyembre 7, 2021 3 replies

Works fine under WPv5.8 and Enfoldv4.8.6 (little bit tricky with the internal builder
but it's ok)

![](https://secure.gravatar.com/avatar/3486f6d22d391b1693fa2ec67509657f9b7237f7a358de5ef736659d99ba02ee?
s=60&d=retro&r=g)

### 󠀁[Excellent plugin!](https://wordpress.org/support/topic/excellent-plugin-7128/)󠁿

 [Serge](https://profiles.wordpress.org/serge-wp/) Hunyo 3, 2021

This plugin does exactly what it says on the tin and works straight out-of-the-box.
Excellent stuff! Oh, and it also works perfectly on WP 5.7.2 – at least with my 
current selection of themes.

 [ Read all 55 reviews ](https://wordpress.org/support/plugin/twenty20/reviews/)

## Contributors & Developers

“Twenty20 Image Before-After” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Zayed Baloch ](https://profiles.wordpress.org/zayedbaloch/)
 *   [ Hammal Albulushi ](https://profiles.wordpress.org/hammal/)

[Translate “Twenty20 Image Before-After” into your language.](https://translate.wordpress.org/projects/wp-plugins/twenty20)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/twenty20/), check out
the [SVN repository](https://plugins.svn.wordpress.org/twenty20/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/twenty20/) by [RSS](https://plugins.trac.wordpress.org/log/twenty20/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.1.0

 * New: native Gutenberg block (“Twenty20 Before-After”) with image pickers, live
   preview, and sidebar settings for position, direction, labels, alignment, width,
   and mouse hover — no build step required
 * Improved: block UX — sidebar Images panel, click-preview-to-open settings, toolbar
   Preview/Edit toggle, and live-updating preview
 * Improved: block rendering reuses the hardened shortcode renderer, so all 2.0.6
   XSS protections apply automatically

#### 2.0.6

 * Security: fix CVE-2022-4580 Contributor+ Stored XSS — validate/sanitize shortcode
   attributes (offset clamped float, whitelisted direction/align/hover, absint image
   IDs, text-only before/after via .text() and data attributes, no user input in
   inline JS)
 * Security: harden widget (sanitized update(), escaped output, fixed data-orientation
   markup) and Elementor widget (fixed offset Array bug, escaped render)
 * Fixed: widget admin scripts not loading (wrong hook names), PHP 8 undefined-index
   notices, Elementor editor script guards, media-button capability checks
 * No shortcode changes required — all existing attributes and defaults preserved

#### 2.0.5

 * WP 7.1 Tested

#### 2.0.4

 * Minor fixes

#### 2.0.3

 * Minor fixes

#### 2.0.2

 * Fixed: Missing alt attributes in image comparison

#### 2.0.1

 * Improved: Accessibility compliance
 * Improved: SEO optimization for image comparisons

#### 2.0.0

 * Complete codebase modernization
 * New: Enhanced image loading system
 * New: Improved mobile touch response
 * New: Better compatibility with page builders
 * New: Modernized admin interface
 * Fixed: Widget image selection issues
 * Fixed: Image replacement bug in widgets
 * Fixed: Admin CSS loading in editor
 * Fixed: Multiple slider initialization issues
 * Improved: Script loading reliability
 * Improved: Overall performance optimization

#### 1.7.6

 * Fixed Elementor Widget
 * Improved mobile responsiveness
 * Performance optimizations

#### 1.7.5

 * Fixed Elementor Widget

#### 1.7.4

 * Fixed Elementor Widget

#### 1.7.3

 * Bug fixes

#### 1.7.2

 * Improve script

#### 1.7.1

 * Bug fixes

#### 1.7.0

 * Bug fixes

#### 1.6.1

 * Bug fixes.

#### 1.6.0

 * Security fixes, and passed in WordPress review.

#### 1.5.9

 * Security fixes

#### 1.5.8

 * Fix: Minor jQuery fix

#### 1.5.7

 * Fix: WP 5.6 Uncaught TypeError (Thanks to @negru13)

#### 1.5.6

 * Fix: Jetpack’s lazy load images issue

#### 1.5.5

 * Fix: Widget mouse over.

#### 1.5.4

 * Added: Integrated with WP Image alt.

#### 1.5.3

 * Fixed cation overlay issue.

#### 1.5.2

 * Fixed Before and After shortcode insert issue

#### 1.5.1

 * Fixed loading issue

#### 1.5

 * NEW: Add Elementor Page builder support.
 * NEW: Add UX Builder by UXThemes support.
 * Minor CSS fixes

#### 1.4

 * NEW: ‘Move slider on mouse over’.

#### 1.3

 * NEW: Image Before and After caption.
 * Fixed arrow shadow css.
 * Widget updated.

#### 1.2

 * Fixed alignment bug

#### 1.1

 * Fixed width issue

#### 1.0

 * First Release

## Meta

 *  Version **2.1.0**
 *  Last updated **1 day ago**
 *  Active installations **20numero_pormat_thousands_sep000+**
 *  WordPress version ** 5.9 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 5.6 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/twenty20/)
 * Tags
 * [before after slider](https://ceb.wordpress.org/plugins/tags/before-after-slider/)
   [elementor](https://ceb.wordpress.org/plugins/tags/elementor/)[UX Builder](https://ceb.wordpress.org/plugins/tags/ux-builder/)
   [wordpress blocks](https://ceb.wordpress.org/plugins/tags/wordpress-blocks/)[WP Bakery](https://ceb.wordpress.org/plugins/tags/wp-bakery/)
 *  [Advanced View](https://ceb.wordpress.org/plugins/twenty20/advanced/)

## Ratings

 4 out of 5 stars.

 *  [  35 5-star reviews     ](https://wordpress.org/support/plugin/twenty20/reviews/?filter=5)
 *  [  6 4-star reviews     ](https://wordpress.org/support/plugin/twenty20/reviews/?filter=4)
 *  [  1 3-star review     ](https://wordpress.org/support/plugin/twenty20/reviews/?filter=3)
 *  [  4 2-star reviews     ](https://wordpress.org/support/plugin/twenty20/reviews/?filter=2)
 *  [  9 1-star reviews     ](https://wordpress.org/support/plugin/twenty20/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/twenty20/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/twenty20/reviews/)

## Contributors

 *   [ Zayed Baloch ](https://profiles.wordpress.org/zayedbaloch/)
 *   [ Hammal Albulushi ](https://profiles.wordpress.org/hammal/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/twenty20/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.paypal.me/zayedbaloch)