Skip to main content

expo-blur

Version: 55.0.6 A component that renders a native blur view on iOS and falls back to a semi-transparent view on Android. Commonly used for navigation bars, tab bars, and modals.

Installation

Usage

API Reference

BlurView Props

number
default:"50"
Blur intensity from 0 (no blur) to 100 (maximum blur)
'light' | 'dark' | 'default' | 'extraLight' | 'regular' | 'prominent' | 'systemMaterial' | 'systemThickMaterial' | 'systemThinMaterial' | 'systemUltraThinMaterial' | 'systemChromeMaterial'
default:"default"
Tint style for the blur effect
  • light: Light blur (iOS: light, Android: white overlay)
  • dark: Dark blur (iOS: dark, Android: dark overlay)
  • default: System default
  • Material styles: iOS 13+ specific blur materials
ViewStyle
Standard React Native view style
'none' | 'dimezisBlurView'
Android only: Experimental blur implementation
  • none: Default semi-transparent overlay
  • dimezisBlurView: Real blur effect (experimental)

Examples

Basic Blur Overlay

Light and Dark Blur

Bottom Tab Bar

Card with Blur Effect

iOS Material Styles

TypeScript

Platform Support

iOS: Uses UIVisualEffectView for native blurAndroid: By default, renders a semi-transparent view. Use experimentalBlurMethod="dimezisBlurView" for real blur (may have performance issues)Web: Uses CSS backdrop-filter with fallback for unsupported browsers

Best Practices

  1. Use Overflow Hidden: Always add overflow: 'hidden' to parent containers with borderRadius
  2. Performance: Blur effects can be expensive on Android; use sparingly
  3. Intensity: Start with 80-90 intensity for good visual effect
  4. Tint Selection: Match tint with content color (dark tint for light text)
  5. Test on Android: Always test Android fallback appearance
Avoid animating BlurView intensity or nesting multiple BlurViews, as this can cause performance issues.

Resources