Skip to main content

Extruded 3D Button: 3D web design examples example

A free, animated 3D button for calls to action, tactile style. Every colour, text and motion setting is a runtime input.

Updated October 2026

About the Extruded 3D Button

The Extruded 3D Button is a 3D button with a tactile look, made for calls to action. It animates a spring press that sinks into its extrusion and bounces back, and a tap presses the button with a ripple and counts the presses. It also has keyframes you can edit in the ExodeUI timeline: an entrance and an ambient float.

Runtime inputs for the Extruded 3D Button

These 23 inputs, plus the replay and tap triggers, can be set from the customizer above, from the ExodeUI studio, or from your code while the element runs.

InputWhat it changesType
labelLabelText
captionCaptionText
topColorButton faceColour
sideColorButton sideColour
labelColorLabel colourColour
panelColorPanelColour
inkColorCaption colourColour
extrudeExtrusion depthNumber
bounceRelease bounceNumber
radiusCorner radiusNumber
liftHover liftNumber
interactiveMouse interactionOn/off
tiltHover tilt (deg, 0 = off)Number
pressPress squishNumber
floatExtra idle float (px)Number
speedAnimation speedNumber
introEntrance animationOn/off
introStyleExtra entrance styleChoice
introDurationEntrance duration (s)Number
colorTweenColour change fade (s)Number
pageModePage backgroundChoice
pageTopPage colourColour
pageBottomPage gradient endColour

Add the Extruded 3D Button to React or Next.js

  1. Open an element above and set its text, colours and motion, or keep the defaults.
  2. Download the .bexode file (or the customized .exode) and put it in your public folder.
  3. Install the runtime with npm i exodeui.
  4. Render it with ExodeUICanvas and pass your text, numbers and colours as inputs.
import { ExodeUICanvas } from 'exodeui';

export function Extruded3DButtonElement({ data }) {
  return (
    <ExodeUICanvas
      src="/ui-trends/files/immersive-3d/07-extruded-button.bexode"
      autoPlay
      style={{ width: 600, height: 400 }}
      inputs={{
        label: data.label,
        caption: data.caption,
        // every colour is an input too, for example a brand accent
        ...data.theme
      }}
    />
  );
}

Frequently asked questions

Is the Extruded 3D Button element free?
Yes. You can preview it, customize it and download the .exode and .bexode files without paying. ExodeUI also has a free Community plan for editing it in the studio.
What does the Extruded 3D Button do when tapped?
It presses the button with a ripple and counts the presses. You can fire the same action from code with the tap input, and replay the entrance with the replay input.
Can I change the colours and text of the Extruded 3D Button?
Yes. All 7 colours and every label are runtime inputs. Set them in the customizer above or pass them from your code; colour changes cross-fade.
Does it have keyframes I can edit?
Yes. The file has a keyframed entrance and an ambient float on the timeline, which you can edit in the ExodeUI Animate tab. Its own motion and interaction stay live and follow the speed input.
Does it work outside React?
The same file works with the other ExodeUI runtimes, including Vue, Svelte, Angular, Solid, React Native, SwiftUI and Flutter.