Pricing
Get Started
  • Introduction
  • Installation
  • MCP Server
  • Saved
Site
  • Builder (Beta)
  • Pricing
  • Roadmap
  • Affiliates
Browse
  • All Components80 New
Text34
  • 3D Letter Swap
  • 3D Text Reveal
  • ASCII Ripple
  • Bending Marquee
  • Blur Highlight
  • Cipher RevealNew
  • Domino LetteringNew
  • Elastic LetteringNew
  • Ghost TypeNew
  • Glitch Text
  • Glyph LotteryNew
  • Gravity LettersNew
  • Label OrbitNew
  • Luminous TypeNew
  • Mesh LetteringNew
  • Orbital TypeNew
  • Particle Text
  • Ribbon TypeNew
  • Rising InkNew
  • Shatter TypeNew
  • Signal TypeNew
  • Smoke TypeNew
  • Speeding Text
  • Spring LetteringNew
  • Staggered Text
  • Stipple TypeNew
  • Tessera TrailNew
  • Text Cube
  • Text MorphNew
  • Text Path
  • Text Scatter
  • Typographic WallNew
  • Vapor TypeNew
  • Wave LetteringNew
Backgrounds98
  • ASCII Tiles
  • Ascii Waves
  • Astral ShellNew
  • Aura Blob
  • Aurora Beam
  • Aurora Blur
  • Axial BeamNew
  • Binary OrbitsNew
  • Black Hole
  • Blinking Dots
  • Blinking Squares
  • Blurred Rays
  • Chroma Blinds
  • Chroma CurrentNew
  • Chroma Waves
  • Cloud AtlasNew
  • Color Loops
  • Concentric TidesNew
  • Contour TideNew
  • Dappled LightNew
  • Dither Wave
  • Dot Shift
  • Eclipse
  • Fading StarsNew
  • Falling Rays
  • Flame Paths
  • Fog Sphere
  • Glass Flow
  • Glass Tiles
  • Glimmer WrapNew
  • Glitter Warp
  • Glowing Ridges
  • Glowing Wave
  • Glue Dots
  • Glyph EmberNew
  • Glyph OrbNew
  • Glyph SonarNew
  • Glyph TideNew
  • Gradient Bars
  • Grain Wave
  • Halftone Vortex
  • Halftone Wave
  • Hexagonal VaultNew
  • Horizon BloomNew
  • Interference RibbonsNew
  • Landscape
  • Light Droplets
  • Lightspeed
  • Liquid Bars
  • Liquid Lines
  • Long Exposure
  • Luminous FilamentsNew
  • Metallic Swirl
  • Minimal Ripple
  • Mosaic
  • Mosaic Waves
  • Neon Reveal
  • Neural Flash
  • Neural Float
  • Neural Tunnel
  • Nexus RaysNew
  • Perspective Grid
  • Photon KnotNew
  • Pixel Rain
  • Prismatic SlatsNew
  • Radial Liquid
  • Ravine
  • Retro Lines
  • Ring FieldNew
  • Rising Lines
  • Rising Particles
  • Rolling Blinds
  • Rotating Stars
  • Rubber Fluid
  • Satin RidgesNew
  • Shader Waves
  • Shadow Bars
  • Silk Waves
  • Simple Swirl
  • Specter Orb
  • Spectral Clouds
  • Spectral DrapeNew
  • Spiral FunnelNew
  • Square Matrix
  • Squares Terminal
  • Squircle Shift
  • Star Swipe
  • Swirl Blend
  • Synaptic Shift
  • Tech Wall
  • Terminal RainNew
  • Thinking Dots
  • Twilight Lines
  • Vortex
  • Voxel ArcNew
  • Warp Twister
  • Watercolor
  • Wireframe Ball
3D & Shaders49
  • Agentic Ball
  • AI Blob
  • Album RailNew
  • Bend Gallery
  • Chrome OrbitNew
  • Circle Stack
  • Concave CarouselNew
  • Constellation GalleryNew
  • Contact SheetNew
  • Depth Card
  • Depth Image
  • Depth RibbonNew
  • Device
  • Dolly Gallery
  • Elastic ReelNew
  • Elastic StickerNew
  • Ember RevealNew
  • Expanding GridNew
  • Frame Border
  • Glass Reveal
  • Globe
  • Gradient Blob
  • Helix GalleryNew
  • Infinite Gallery
  • Inverted Dome
  • Iris GalleryNew
  • Lenticular Carousel
  • Momentum RingNew
  • Page Flip
  • Parallax Carousel
  • Particle Image
  • Particle Morph
  • Passage GalleryNew
  • Pixel Reveal
  • Pixel Sculpt
  • Pixelate Hover
  • Pond ImageNew
  • Portal
  • Prism CarouselNew
  • Rotating Cards
  • Scroll BendNew
  • Scroll Portal
  • Shader Card
  • Shader Reveal
  • Spin ShutterNew
  • Star Burst
  • Tumble Carousel
  • Twisting Gallery
  • Warped Card
Cursor Effects21
  • Arc CursorNew
  • Ascii Cursor
  • Celebration CursorNew
  • Chroma HaloNew
  • Cursor Wave
  • Custom Cursor
  • Dither Cursor
  • Drafting CursorNew
  • Glass Cursor
  • Glyph StreamNew
  • Grid Rise
  • Gyroscope CursorNew
  • Liquid Ascii
  • Parallax Pills
  • Pigment TrailNew
  • Pixel Magnet
  • Ribbon TrailNew
  • Smooth Cursor
  • Snapshot TrailNew
  • Stardust CursorNew
  • User Cursor
UI & Cards28
  • Animated List
  • Card Spread
  • Center Flow
  • Chroma Card
  • Circle Gallery
  • Circles
  • Click Stack
  • Comparison Slider
  • Credit Card
  • Draggable Grid
  • Frame Scrub
  • Gradient Carousel
  • Hover Preview
  • Liquid Swap
  • Loupe ImageNew
  • Magic Transform
  • Modal Cards
  • Orbit ReelNew
  • Parallax Cards
  • Preloader
  • Reel Gallery
  • Scroll Mask
  • Scroll Stack
  • Simple Graph
  • Skewed Carousel
  • Tile Reveal
  • Tilted Tiles
  • Tumble WallNew
  1. Docs
  2. Components
  3. 3D & Shaders
  4. Bend Gallery

Animated components, blocks, and templates for React. Pay once, ship stunning pages forever.

pro@reactbits.dev

Site

HomeBuilder (Beta)PricingTestimonialsFAQsRoadmapChangelogFree Components

Docs

IntroductionInstallationMCP ServerComponentsBlocksTemplates

Resources

AboutUse casesComparisonsAlternativesFor AI agents

Legal & Account

LoginAffiliateLicensePrivacyContact

© 2026 pro.reactbits.dev. All rights reserved.

Bend Gallery

A column of images that bends away as it scrolls

bend-gallery-tw
Gallery image 1
Gallery image 2
Gallery image 3
Gallery image 4
Gallery image 5
Gallery image 6
Gallery image 7
Gallery image 8
Gallery image 1
Gallery image 2
Gallery image 3
Gallery image 4
Gallery image 5
Gallery image 6
Gallery image 7
Gallery image 8

Customize

Item Width
300px
Aspect Ratio
0.80
Gap
-112px
Border Radius
7px
Grayscale
1.00
Perspective
900px
Bend Angle
90°
Bend Curve
0.60
Depth
800px
Depth Focus
8.0
Lift
40%
Fade
1.00
Fade Curve
3.00
Overshoot
0.20
Smooth
0.80
Wheel Speed
1.0
Drag Speed
1.5
Auto Scroll
0px/s
Vignette

Props

27
NameTypeDefaultDescription
images(string | { src: string; alt?: string })[]built-in setImages shown in the column, as URLs or objects with alt text.
infinitebooleantrueLoop the column so it can be scrolled forever in either direction.
itemWidthnumber300Maximum width of a tile in pixels, shrinks to fit narrow containers.
aspectRationumber0.8Tile width divided by height.
gapnumber-112Vertical gap between tiles in pixels, negative values overlap them.
borderRadiusnumber7Corner radius of the tiles in pixels.
grayscalenumber1How far the images are drained of colour from 0 to 1.
perspectivenumber900Perspective distance in pixels, smaller values bend harder.
bendAnglenumber90Rotation in degrees a tile reaches at the top and bottom edge.
bendCurvenumber0.6Shape of the bend from 0 for a hard fold to 1 for a smooth arc.
depthnumber800How far in pixels a tile sinks into the screen while centred.
depthFocusnumber8How the sinking is spread, higher values keep it to the centre.
liftnumber40Vertical squeeze towards the centre as a percentage of tile height.
fadenumber1How strongly edge tiles darken and desaturate from 0 to 1.
fadeCurvenumber3Curve of the fade, higher values keep the centre bright longer.
overshootnumber0.2Fraction of the viewport height beyond the edges a tile keeps animating.
smoothnumber0.8Scroll follow damping from 0 for instant to 1 for very loose.
wheelSpeednumber1Multiplier applied to wheel and trackpad deltas.
dragSpeednumber1.5Multiplier applied to pointer drag deltas.
autoScrollnumber0Pixels per second the column drifts by itself, 0 to disable.
pauseOnHoverbooleantrueStop the drift while the pointer is over the gallery.
vignettebooleanfalseDraw a radial vignette over the gallery.
vignetteColorstring"rgba(0, 0, 0, 0.5)"Colour of the vignette edge, usually semi transparent.
backgroundColorstring"transparent"Colour behind the tiles, transparent by default so the page shows through.
onIndexChange(index: number) => voidundefinedFired when the tile nearest the centre changes.
classNamestringundefinedExtra classes for the outer container.
childrenReactNodeundefinedContent layered above the gallery.
images(string | { src: string; alt?: string })[]

Images shown in the column, as URLs or objects with alt text.

Defaultbuilt-in set
infiniteboolean

Loop the column so it can be scrolled forever in either direction.

Defaulttrue
itemWidthnumber

Maximum width of a tile in pixels, shrinks to fit narrow containers.

Default300
aspectRationumber

Tile width divided by height.

Default0.8
gapnumber

Vertical gap between tiles in pixels, negative values overlap them.

Default-112
borderRadiusnumber

Corner radius of the tiles in pixels.

Default7
grayscalenumber

How far the images are drained of colour from 0 to 1.

Default1
perspectivenumber

Perspective distance in pixels, smaller values bend harder.

Default900
bendAnglenumber

Rotation in degrees a tile reaches at the top and bottom edge.

Default90
bendCurvenumber

Shape of the bend from 0 for a hard fold to 1 for a smooth arc.

Default0.6
depthnumber

How far in pixels a tile sinks into the screen while centred.

Default800
depthFocusnumber

How the sinking is spread, higher values keep it to the centre.

Default8
liftnumber

Vertical squeeze towards the centre as a percentage of tile height.

Default40
fadenumber

How strongly edge tiles darken and desaturate from 0 to 1.

Default1
fadeCurvenumber

Curve of the fade, higher values keep the centre bright longer.

Default3
overshootnumber

Fraction of the viewport height beyond the edges a tile keeps animating.

Default0.2
smoothnumber

Scroll follow damping from 0 for instant to 1 for very loose.

Default0.8
wheelSpeednumber

Multiplier applied to wheel and trackpad deltas.

Default1
dragSpeednumber

Multiplier applied to pointer drag deltas.

Default1.5
autoScrollnumber

Pixels per second the column drifts by itself, 0 to disable.

Default0
pauseOnHoverboolean

Stop the drift while the pointer is over the gallery.

Defaulttrue
vignetteboolean

Draw a radial vignette over the gallery.

Defaultfalse
vignetteColorstring

Colour of the vignette edge, usually semi transparent.

Default"rgba(0, 0, 0, 0.5)"
backgroundColorstring

Colour behind the tiles, transparent by default so the page shows through.

Default"transparent"
onIndexChange(index: number) => void

Fired when the tile nearest the centre changes.

Defaultundefined
classNamestring

Extra classes for the outer container.

Defaultundefined
childrenReactNode

Content layered above the gallery.

Defaultundefined