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. Concave Carousel
PreviousCircle Stack3D & ShadersNextConstellation Gallery3D & Shaders

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.

Concave Carousel

A gallery wall that curves around the viewer

concave-carousel-tw

Customize

Background
Aspect
1.25
Size
0.46
Curvature
0.72
Distance
4.0
Tilt
0.0°
Gap
16px
Radius
14px
Reflection
0.06
Dim
0.35
Speed
0.16
Interval
4.0s
Inertia
0.50

Props

30
NameTypeDefaultDescription
items{ src: string; alt: string; title?: string; subtitle?: string; href?: string }[]Curated material studiesImages hung around the wall, in order. Images must allow cross-origin loading. Title and subtitle caption the centred image; href makes clicking it navigate.
startIndexnumber0Index of the image that starts in the centre.
aspectnumber1.25Width divided by height of every panel. Images are cropped to fill it.
sizenumber0.46Height of the centred panel as a fraction of the space above the caption.
curvaturenumber0.72How strongly the wall bends around the viewer, from 0 (a flat strip) to 1 (a tight drum).
distancenumber4How far the viewer stands from the wall, in panel heights. Closer exaggerates the perspective; further flattens it.
tiltnumber0Viewing angle in degrees. Negative looks up at the wall from below, positive looks down onto the floor.
gapnumber16Space between panels in pixels, measured at the centred panel.
radiusnumber14Corner radius in pixels, measured at the centred panel.
reflectionnumber0.06Strength of the faint reflection on the floor below the wall. 0 removes it.
dimnumber0.35How much the wall fades into the background toward the left and right edges.
autoplay"drift" | "step" | "off""drift"Drift turns the wall slowly and continuously, step turns it one panel every interval, off leaves it still.
speednumber0.16Drift speed in panels per second. Negative values turn the other way, also for step.
intervalnumber4Seconds between steps when autoplay is step.
snapbooleantrueSettle with a panel centred after a drag, flick or scroll, like a dial with detents.
inertianumber0.5How far a flick carries the wall before it settles, from 0 to 1.
pauseOnHoverbooleantrueBrake the motion while the pointer rests on the wall, so a picture can be looked at.
draggablebooleantrueGrab the wall and turn it. The point you hold stays under the pointer, and flicks carry on with momentum.
wheelbooleantrueScroll to turn the wall, one panel per notch. Set false to leave page scrolling untouched.
captionsbooleantrueShow the title and subtitle of the centred image below the wall.
controlsbooleantrueShow previous and next buttons with a counter.
backgroundColorstring"transparent"Background of the component. Caption, controls and loading panels adapt to it.
pausedbooleanfalseStops autoplay. Space toggles it too, and reduced-motion users get a still wall that only moves on input.
dprnumber2Maximum device pixel ratio for the canvas.
ariaLabelstring"Concave carousel…"Accessible description of the carousel and how to use it.
onIndexChange(index) => void—Called when a different image reaches the centre.
onSelect(item, index) => void—Called when the centred image is clicked or Enter is pressed. Clicking any other image turns the wall to it.
ref{ next, previous, goTo }—Imperative controls for turning the wall.
classNamestring—Classes for the root element. It fills its parent, with a 420px minimum height.
styleCSSProperties—Inline styles for the root element.
items{ src: string; alt: string; title?: string; subtitle?: string; href?: string }[]

Images hung around the wall, in order. Images must allow cross-origin loading. Title and subtitle caption the centred image; href makes clicking it navigate.

DefaultCurated material studies
startIndexnumber

Index of the image that starts in the centre.

Default0
aspectnumber

Width divided by height of every panel. Images are cropped to fill it.

Default1.25
sizenumber

Height of the centred panel as a fraction of the space above the caption.

Default0.46
curvaturenumber

How strongly the wall bends around the viewer, from 0 (a flat strip) to 1 (a tight drum).

Default0.72
distancenumber

How far the viewer stands from the wall, in panel heights. Closer exaggerates the perspective; further flattens it.

Default4
tiltnumber

Viewing angle in degrees. Negative looks up at the wall from below, positive looks down onto the floor.

Default0
gapnumber

Space between panels in pixels, measured at the centred panel.

Default16
radiusnumber

Corner radius in pixels, measured at the centred panel.

Default14
reflectionnumber

Strength of the faint reflection on the floor below the wall. 0 removes it.

Default0.06
dimnumber

How much the wall fades into the background toward the left and right edges.

Default0.35
autoplay"drift" | "step" | "off"

Drift turns the wall slowly and continuously, step turns it one panel every interval, off leaves it still.

Default"drift"
speednumber

Drift speed in panels per second. Negative values turn the other way, also for step.

Default0.16
intervalnumber

Seconds between steps when autoplay is step.

Default4
snapboolean

Settle with a panel centred after a drag, flick or scroll, like a dial with detents.

Defaulttrue
inertianumber

How far a flick carries the wall before it settles, from 0 to 1.

Default0.5
pauseOnHoverboolean

Brake the motion while the pointer rests on the wall, so a picture can be looked at.

Defaulttrue
draggableboolean

Grab the wall and turn it. The point you hold stays under the pointer, and flicks carry on with momentum.

Defaulttrue
wheelboolean

Scroll to turn the wall, one panel per notch. Set false to leave page scrolling untouched.

Defaulttrue
captionsboolean

Show the title and subtitle of the centred image below the wall.

Defaulttrue
controlsboolean

Show previous and next buttons with a counter.

Defaulttrue
backgroundColorstring

Background of the component. Caption, controls and loading panels adapt to it.

Default"transparent"
pausedboolean

Stops autoplay. Space toggles it too, and reduced-motion users get a still wall that only moves on input.

Defaultfalse
dprnumber

Maximum device pixel ratio for the canvas.

Default2
ariaLabelstring

Accessible description of the carousel and how to use it.

Default"Concave carousel…"
onIndexChange(index) => void

Called when a different image reaches the centre.

Default—
onSelect(item, index) => void

Called when the centred image is clicked or Enter is pressed. Clicking any other image turns the wall to it.

Default—
ref{ next, previous, goTo }

Imperative controls for turning the wall.

Default—
classNamestring

Classes for the root element. It fills its parent, with a 420px minimum height.

Default—
styleCSSProperties

Inline styles for the root element.

Default—