A React Native library for displaying colorful blurred image placeholders using BlurHash strings.
React Native Blurhash is a library that displays colorful, blurred previews as placeholders while images load in React Native apps. It solves the problem of dull grey loading boxes by using the BlurHash algorithm to create compact strings that represent image placeholders, which are then decoded and rendered natively for a better user experience.
React Native developers building mobile applications where image loading performance and visual polish are important, such as social media feeds, galleries, or content-heavy apps.
Developers choose this library because it provides a native implementation of BlurHash with excellent performance, including encoding capabilities, average color extraction, and asynchronous decoding to avoid UI jank, all while being easy to integrate into existing React Native projects.
🖼️ A library to show colorful blurry placeholders while your content loads.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Fast decoding optimized for React Native, with recommendations for decodeWidth/Height settings (e.g., 16 for large lists) to ensure smooth performance in collections without UI lag.
Includes a native encoder to generate BlurHash strings directly from images within the app, eliminating the need for server-side processing and enabling on-device placeholder creation.
Optional background thread decoding prevents UI stutters, which is crucial for maintaining smooth scrolling in image-heavy lists, as highlighted in the performance section.
Provides average color extraction for UI theming and validation utilities to check BlurHash string correctness, adding value beyond basic placeholder rendering.
Cannot be used in the Expo Go app, requiring development builds or ejection, which limits rapid prototyping and testing for Expo-centric workflows.
Caching is cleared when components unmount, leading to repeated decoding on re-mounts, which can negate performance gains in dynamic UIs like lists with frequent updates.
Cosine operation caching is only implemented on Android, not iOS, causing performance discrepancies and requiring manual cache clearing with no effect on other platforms.