any_image_view
A versatile Flutter image viewer supporting PNG, JPG, WebP, GIF, AVIF, TIFF, RAW, SVG, Lottie, XFile, and network images with best resolution — all in one seamless package.
2.3.2
707 downloads/mo
#684 most downloaded on pub.dev
farhansadikgalib/any_image_view
What this package is like to depend on
Last release 2 days ago
21 Aug 2026
Release timing varies
gaps range from 8 days to 10 months
Most releases are documented
notes for 19 of 27 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
27 releases · first in 2024
10 releases in the last 12 months
see the full history below
Release timeline
27 releases · May 2024 to Aug 2026Releases
latest 27-
2.3.221 Aug 2026Release notes
Open source →- Added: automatic Android build fixes. The package now ships a minimal Android module (it registers no platform channels) whose
build.gradlerepairs two build-time problems, so consumers no longer edit Gradle by hand:Redeclaration: class FlutterAvifPlugin—flutter_avif_android3.1.0 ships the same plugin class as bothFlutterAvifPlugin.javaandFlutterAvifPlugin.kt; AGP 8.9+ compiles both source sets and the build fails. The redundant Java source directory is now stripped from that module automatically, keeping the Kotlin class thatpluginClass:registers. Applied only when the duplicate is actually present, so a fixed upstream release is untouched.- NDK version mismatch — the app's
ndkVersionis raised to the one vended by the host Flutter SDK (never lowered), matching what transitive native plugins such asjnirequire. Verified via Gradle probe that the app,jniand this module all resolve to the same NDK.
- Fixed: AVIF format detection — paths were matched with case-sensitive
endsWith, sophoto.AVIF,photo.avif?v=2andphoto.avif#fragfell through to the PNG default and rendered as a broken image. Detection now strips any query string/fragment and lower-cases the extension. The same fix applies to every other format (SVG, JSON, PNG, JPEG, …), and.tifis now recognised alongside.tiff. - Fixed: AVIF render quality — all three AVIF paths (asset, file, network) inherited
AvifImage'sFilterQuality.lowdefault, which visibly degraded scaled images. They now useFilterQuality.high, matching the other formats. - Fixed: Animated AVIF flicker — AVIF image sequences (
ftypavis) now render withgaplessPlayback: true, so the previous frame is held while the next decodes instead of flashing the placeholder between frames. - Fixed: AVIF loading state — AVIF decoding is slower than PNG/JPEG, and previously showed an empty box until the first frame was ready. All AVIF paths now show the shimmer placeholder while decoding, then fade in.
- Dependencies: raised
lottieto^3.5.1(from^3.3.3) andcross_fileto^0.3.5+4(from^0.3.5+2). The lottie bump is additive — it picks up text animator range selectors,ValueDelegate.path, correctalignmenthandling for cropped fits such asBoxFit.cover, and a render-cache crop fix. All other direct dependencies were already at their latest release. - Example: upgraded the app's transitive packages to their latest resolvable versions (
image_picker1.2.3,xml7.0.1,sqflite2.4.3,jni1.0.3,archive4.1.0,package_config3.0.0,path_provider2.1.6,flutter_cache_manager3.4.2,uuid4.6.0,vector_graphics_compiler1.3.0, and others). - Example: bumped the Kotlin Gradle plugin to 2.2.20, clearing the "Flutter support for your project's Kotlin version (2.1.0) will soon be dropped" build warning.
- Fixed: published archive size —
.pubignorefully replaces.gitignorewhen publishing, and it did not exclude build output, soexample/build/artifacts (including a 53 MB.dillcache) were shipped to pub.dev. Build and tool directories are now excluded: the archive drops from 21 MB to 2 MB. - Docs: replaced the two manual Android workaround sections with a short "Android setup: none required" note.
- Added: automatic Android build fixes. The package now ships a minimal Android module (it registers no platform channels) whose
-
2.3.121 Aug 2026Nothing published for this version
-
2.3.026 Jun 2026Release notes
Open source →- Docs: documented the Android NDK version warning. Native plugins pulled in transitively (the
jnilibrary, viapath_provider) require the NDK that ships with your Flutter SDK; apps generated by an older Flutter template (missing thendkVersionline) saw a version-mismatch warning on every Android build. README now recommendsndkVersion = flutter.ndkVersion— it tracks your own Flutter SDK, never goes stale, and pins no dependency (so it can't conflict with other packages). The example app uses the same form.
- Docs: documented the Android NDK version warning. Native plugins pulled in transitively (the
-
2.2.026 May 2026Release notes
Open source →- Added AVIF support — local assets, network URLs, and local files all render through the same
AnyImageViewwidget. - Added animated AVIF playback — animated AVIFs auto-play, no extra configuration.
- Added
ImageType.aviffor format detection from a path or URL. - Added
enableFullscreen— tap the image to open a fullscreen viewer with a close button at the top-right, pinch-to-zoom (1x–5x), pan, and double-tap to zoom in/out.
- Added AVIF support — local assets, network URLs, and local files all render through the same
-
2.1.008 Mar 2026Release notes
Open source →- Added: Network SVG support — SVG images from HTTP/HTTPS URLs (e.g.
https://example.com/icon.svg) are loaded viahttpand rendered withSvgPicture.string(); failed loads show the error fallback. - Added:
svgColor— optional color to tint SVG images (asset and network) usingBlendMode.srcIn. - Added:
svgColorFilter— optional customColorFilterfor SVG images (overridessvgColorwhen both are set). - Fixed: Local and network SVG — both now use a safe loader: load SVG string (asset bundle or network), then
SvgPicture.string(); load or sync parse errors show the error fallback instead of crashing. - Fixed: "Invalid SVG data" crash — SVG loading no longer uses a strict pre-parse step; invalid SVG falls back to the error widget.
- Dependency: added
http: ^1.2.2for network SVG fetching.
- Added: Network SVG support — SVG images from HTTP/HTTPS URLs (e.g.
-
2.0.015 Jan 2026Release notes
Open source →- Improved: Error fallback now uses
FittedBoxwith 20px padding for better proportional scaling. - Improved: Circular avatars now use
ClipOvalfor perfect circle clipping. - Improved: Added comprehensive library-level documentation for better pub.dev score.
- Improved: Added documentation to all public APIs (ImageType enum, ImageTypeExtension).
- Fixed: Circular shape (
BoxShape.circle) now properly clips image content. - Fixed: Repository URL now points to correct GitHub repository root.
- Updated:
flutter_svgto ^2.2.3 (latest). - Updated: Android Gradle Plugin to 8.9.1 for better compatibility.
- Added: Documentation URL in pubspec.yaml.
- Improved: Error fallback now uses
-
1.9.515 Jan 2026Nothing published for this version
-
1.9.006 Dec 2025Release notes
Open source →- Fixed: Network URL image loading for URLs with file extensions (e.g., Pexels, direct image URLs ending in .jpg, .jpeg, .png).
- Fixed: Image type detection now prioritizes URL protocol check before file extension check.
- Improved: Network images from any source (Pexels, direct URLs, etc.) now properly use cached network image loading.
- Improved: URL detection now checks for
http://andhttps://prefixes before checking file extensions. - Enhanced: Better reliability for loading images from various image hosting services and CDNs.
-
1.8.020 Nov 2025Release notes
Open source →- Enhanced: Significantly improved
cached_network_imageimplementation with advanced features. - Added: Custom HTTP headers support for authenticated network image requests (
httpHeadersparameter). - Added: Automatic memory cache optimization - uses
heightandwidthfor cache dimensions (no separate parameters needed). - Added: Cache duration control with
cacheMaxAgeparameter for network images. - Added: Automatic retry logic with
maxRetryAttemptsparameter (default: 3 attempts). - Added: Memory cache toggle with
useMemoryCacheparameter for fine-grained control. - Added: Advanced error logging with
errorListenerfor better debugging. - Added: Improved image quality control with
FilterQuality.mediumsetting. - Improved: Error placeholder now uses built-in
Icons.broken_imageinstead of asset file for better reliability. - Improved: Border radius handling - now properly clips content and applies to decoration.
- Improved: Image type detection logic - checks file extensions before URL protocol.
- Improved: Network image performance with automatic disk and memory cache optimization based on dimensions.
- Improved: Shimmer loading animation now properly fills the container without extra centering wrapper.
- Improved: XFile handling is now more robust and reliable.
- Improved: Simplified API - memory cache dimensions automatically derived from height/width.
- Improved: Documentation with comprehensive examples for all new features.
- Updated: All dependencies to latest versions (cached_network_image: ^3.4.1, flutter_svg: ^2.2.2, lottie: ^3.3.2).
- Updated: Android Gradle Plugin to 8.7.3 (stable) with Gradle 8.12 for better compatibility.
- Updated: Example app with showcase of all advanced features including memory optimization and error handling.
- Removed:
errorPlaceHolderparameter (replaced with built-in broken_image icon). - Removed:
memCacheWidthandmemCacheHeightparameters (now automatically derived from height/width). - Removed: Network SVG and Lottie support (kept local assets only for better stability).
- Fixed: "Infinity or NaN toInt" error when using
double.infinityfor width or height with network images. - Fixed: Better memory management for large network images.
- Fixed: File image loading now uses direct Image.file instead of FadeInImage for better performance.
- Enhanced: Significantly improved
-
1.7.019 Nov 2025Release notes
Open source →Fixed
- Package Assets: Fixed error placeholder image (
not_found.png) not loading from package assets by addingpackageparameter - SVG Network Loading: Fixed SVG images from network URLs not loading correctly (now uses
SvgPicture.network()) - Lottie Network Loading: Fixed Lottie animations from network URLs not loading (now uses
Lottie.network()) - BorderRadius Handling: Fixed double ClipRRect application causing incorrect rendering
- Shape Parameter: Fixed
BoxShape.circleconflicting withborderRadiusapplication - Error Loop: Fixed potential infinite loop in error fallback with placeholder error builder
- Image Type Detection: Fixed extension detection priority (now checks extensions before URL protocol)
Improved
- Error Handling: Enhanced error fallback to show built-in
not_found.pngplaceholder image - Code Structure: Centralized ClipRRect application at container level for better performance
- Type Detection: Improved image type detection logic (extensions checked first, then URL patterns)
- Shimmer Widget: Simplified borderRadius calculation in shimmer loading widget
- Performance: Optimized widget tree with single ClipRRect wrapper
Updated
- lottie: Updated to ^3.3.2 (latest)
- flutter_svg: Updated to ^2.2.2 (latest)
- cached_network_image: Updated to ^3.4.1 (latest)
- cross_file: Updated to ^0.3.5+1 (latest)
- flutter_lints: Updated to ^6.0.0 (latest)
- Android Gradle Plugin: Updated to 8.9.1 for compatibility with latest dependencies
Documentation
- README: Complete rewrite with better examples, clearer API documentation, and migration guide
- Examples: Enhanced example app with comprehensive demos for all image types
- Comments: Improved inline code documentation
- Package Assets: Fixed error placeholder image (
-
1.6.020 Jul 2025Release notes
Open source →- Added: Support for more image formats, including HEIC, HEIF, BMP, ICO, EXR, HDR.
- Fixed: Zoom functionality was incorrectly applied to error placeholders and widgets.
- Fixed: An "Infinity or NaN toInt" error that occurred during image caching.
- Improved: The shimmer loader animation is now faster, smoother, and more visually appealing.
- Improved: Null safety by removing all force-unwrap (
!) operators. - Improved: Image loading logic is now more robust and simplified for better performance and readability.
- Improved: The file structure by merging
image_loader.dartinto the mainany_image_view.dartfile.
-
1.5.015 Jul 2025Release notes
Open source →- Added: Support for PNG, JPG, WebP, GIF, TIFF, RAW, SVG, Lottie, XFile, and cached network images.
- Added: Pinch-to-zoom and pan support for images via
InteractiveViewer. - Added: Customizable border radius, border, box shadow, and shape for image containers.
- Added: Premium shimmer loading effect with adjustable border radius.
- Added: Error and placeholder widgets for all image types.
- Added: Fade-in animation for image loading.
- Added: Asset, network, and local file image support.
- Added: Extension to auto-detect image type from path or URL.
- Changed: Improved shimmer effect to allow border radius customization.
- Changed: Enhanced error handling for missing or invalid image paths.
- Fixed: Minor bug fixes and performance improvements.
-
1.4.415 Jul 2025Release notes
Open source →- Improved: Network images now load at full resolution for maximum quality.
- Fixed: Resolved image resolution mismatch when loading from network.
- Updated: Ensured
memCacheWidthandmemCacheHeightare set tonullfor original image quality. - Documentation: Enhanced comments and examples for better understanding of image loading behavior.
-
1.4.315 Jul 2025Release notes
Open source →- Added: Zoom feature.
- Added: Loader (shimmer effect) displayed while images are loading.
- Fixed: Improved error handling for image loading failures.
- Enhanced: Optimized shimmer loading effect for better performance.
- Updated: Refactored code for increased readability and maintainability.
- Compatibility: Ensured support for latest dependencies and Flutter versions.
- Documentation: Updated inline comments and API docs for clarity.
-
1.4.112 Jul 2025Release notes
Open source →- Fixed: Added version constraints to dependencies for better compatibility.
- Improved: Enhanced pub.dev score and package stability.
- Ready: Optimized for production release with proper dependency management.
-
1.4.012 Jul 2025Release notes
Open source →- Enhanced error handling and null safety for all image types.
- Improved code quality with comprehensive analysis and linting.
- Fixed XFile path handling for better compatibility.
- Added robust file validation and existence checks.
- Unified error fallback system across all image types.
- Consistent loading states for all supported image formats.
- Memory management improvements for network images.
- Professional changelog formatting without emojis.
- Ready for production with maximum pub.dev compatibility.
-
1.3.112 Jul 2025Release notes
Open source →- Fixed: Properly handle nullable
XFile.pathfor compatibility with cross_file 0.3.0. - Cleanup: No more analysis warnings; code is fully robust and clean.
- Fixed: Properly handle nullable
-
1.3.012 Jul 2025Release notes
Open source →- Enhanced error handling for all image types (file, SVG, Lottie, asset, network).
- Safe XFile support with proper null safety and validation.
- File validation: automatic file existence checks before loading.
- Unified error fallback: consistent error handling across all image types.
- Improved loading states: consistent loading widgets for all image types.
- Memory management: added memory cache hints for network images.
- Code quality: removed unused code and improved overall robustness.
- Linter fixes: updated analysis configuration for better compatibility.
- Bug fixes: fixed potential crashes and improved stability.
- Documentation: enhanced code comments and error handling examples.
-
1.2.012 Jul 2025Release notes
Open source →- Full XFile support: seamless integration with image picker.
- New:
xFileparameter added toAnyImageViewconstructor. - Dependency: Added
cross_filefor XFile functionality. - Detection: Improved file detection for absolute paths.
- Error handling: smarter fallback to error placeholder for file-based images.
- Safety: Assertion prevents using both
imagePathandxFiletogether. - Docs: Updated with XFile usage examples.
-
1.1.009 Apr 2025Release notes
Open source →- First launch.
- Fixes: Minor bug fixes.
- UI: Elevation removed for cleaner look.
- Docs: Updated documentation.
- Dependencies: Fixed and updated.
-
1.0.617 Jun 2024Nothing published for this version
-
1.0.516 Jun 2024Nothing published for this version
-
1.0.416 Jun 2024Nothing published for this version
-
1.0.315 May 2024Nothing published for this version
-
1.0.215 May 2024Nothing published for this version
-
1.0.114 May 2024Nothing published for this version
-
1.0.014 May 2024Release notes
Open source →- Stable: Marked as stable for production use.
- Fixes: General improvements.