The backface-visibility property controls whether the reverse side of an element is visible during 3D rotations. It is essential for clean flip-card animations and polished 3D transform effects.
01
3D Faces
Front and back of a box.
02
Syntax
visible or hidden.
03
Flip Cards
Hide mirrored reverse sides.
04
visible Default
Back face can appear.
05
preserve-3d
Works with 3D transforms.
06
Animations
Cleaner rotateX and rotateY.
Fundamentals
Definition and Usage
The backface-visibility CSS property defines whether the back face of an element should be visible when the element is turned away from the viewer in 3D space.
When you rotate an element with rotateY(180deg) or rotateX(180deg), the browser can render both the front and back sides of that element. For flip cards, setting backface-visibility: hidden; prevents the reverse side from showing through during the animation.
💡
Beginner Tip
Most flip-card tutorials use hidden on both faces so only one side appears at a time while the card rotates.
Foundation
📝 Syntax
Set backface-visibility with one of two keyword values:
The property accepts only the keywords visible and hidden.
The initial value is visible.
It is most useful with 3D transforms such as rotateX() and rotateY().
Flip-card setups usually combine it with transform-style: preserve-3d and perspective.
The back face is pre-rotated, often with transform: rotateY(180deg); on the back side.
Cheat Sheet
⚡ Quick Reference
Question
Answer
Initial value
visible
Applies to
Elements with 3D transforms
Inherited
No
Animatable
No
Common use
Flip cards, 3D rotations, and transform animations
Defaults
Default Value
The initial value of backface-visibility is visible. That means the back face of an element can appear when it is rotated in 3D space unless you explicitly hide it.
Reference
💎 Property Values
backface-visibility has only two keyword values.
Value
Example
Meaning
visible
backface-visibility: visible;
The back face is rendered when the element faces away from the viewer
hidden
backface-visibility: hidden;
The back face is not visible during rotation
hidden
The preferred choice for flip cards. Only the front-facing side appears during rotation.
Front
Back
Clean flip effect with no mirrored reverse side.
visible
The default behavior. The reverse side can show through during rotation.
Front
Back
Can look messy in flip-card animations.
Scope
Common 3D Setup for Flip Cards
backface-visibility is usually part of a small 3D transform pattern:
perspective on the parent — adds depth to the rotation.
transform-style: preserve-3d on the inner wrapper — keeps child faces in 3D space.
Absolute front and back faces — two layers stacked in the same box.
backface-visibility: hidden on both faces — hides the reverse side during the flip.
Back face rotation — usually transform: rotateY(180deg); on the back content.
Compare
visible vs hidden
Value
What you see during rotation
Best for
hidden
Only the intended front-facing side
Flip cards, menus, and polished 3D UI
visible
The reverse side may appear or look mirrored
Default browser behavior and special visual effects
Preview
👀 Live Preview
Hover this card to see a flip animation using backface-visibility: hidden;:
Front
Back
Both faces use hidden, so the reverse side does not show through mid-flip.
Hands-On
Examples Gallery
Try backface-visibility with hover flip cards, visible vs hidden comparisons, styled cards, and vertical flips.
📚 Flip Card Basics
Use backface-visibility: hidden to keep front and back faces from appearing at the same time.
Example 1 — Hover Flip Card
Create a card that rotates on hover and reveals a back face cleanly.
The back face is rotated on the X axis, and hidden keeps the reverse side from showing during the vertical flip.
🧠 How backface-visibility Works
1
You create front and back faces
Two layers share the same space inside a 3D-transformed container.
Two faces
2
You rotate in 3D space
Use rotateY() or rotateX() with preserve-3d.
3D transform
3
You hide the reverse side
backface-visibility: hidden; prevents the back of each face from showing through.
hidden
=
🔀
Smooth flip animation
Only one card face is visible at a time, creating a clean flip effect.
Compatibility
Universal Browser Support
backface-visibility is supported in all modern browsers with 3D transform support.
✓ Baseline · CSS Transforms
Use flip effects in modern browsers
Chrome, Firefox, Safari, Edge, and Opera support backface-visibility with 3D transforms.
98%Modern browser support
Google Chrome36+ · Desktop & Mobile
Full support
Mozilla Firefox16+ · Desktop & Mobile
Full support
Apple Safari9+ · macOS & iOS
Full support
Microsoft Edge12+ · Modern versions
Full support
Opera23+ · Modern versions
Full support
Legacy browsers
Very old browsers without 3D transform support also lack reliable flip-card behavior.
💻
Internet ExplorerIE 10+ partial 3D support · Test carefully
Partial
backface-visibility property98% supported
Bottom line: Use backface-visibility: hidden confidently in modern flip-card and 3D UI patterns.
Wrap Up
Conclusion
The backface-visibility property is an essential part of 3D CSS animations. It lets you hide the reverse side of an element so flip cards and rotated panels look clean instead of showing mirrored or overlapping faces.
For most flip-card designs, use hidden on both front and back faces together with transform-style: preserve-3d and a pre-rotated back face.