This plugin generates thumbnail from video file or URL. It returns image in memory or writes into a file. It offers rich options to control the image format, resolution and quality. Supports iOS and Android.

pub ver license

video-file video-url


thumbnailDataString [video], ImageFormat [imageFormat](JPEG/PNG/WEBP), int [maxHeightOrWidth](0: for the original resolution of the video), int [quality](0-100)generates thumbnail from [video][Future<Uint8List>]
thumbnailFileString [video], String [thumbnailPath](folder or full path where to store the thumbnail file, null to save to same folder as the video file), ImageFormat [imageFormat](JPEG/PNG/WEBP), int [maxHeightOrWidth](0: for the original resolution of the video), int [quality](0-100)creates a file of the thumbnail from the [video][Future<String>]


Installing add video_thumbnail as a dependency in your pubspec.yaml file.

  video_thumbnail: ^0.1.5+1


import 'package:video_thumbnail/video_thumbnail.dart';

Generate a thumbnail in memory from video file

final uint8list = await VideoThumbnail.thumbnailData(
  video: videofile.path,
  imageFormat: ImageFormat.JPEG,
  maxHeightOrWidth: 128,
  quality: 25,

Generate a thumbnail file from video URL

final uint8list = await VideoThumbnail.thumbnailFile(
  video: "",
  thumbnailPath: (await getTemporaryDirectory()).path,
  imageFormat: ImageFormat.WEBP,
  maxHeightOrWidth: 0, // the original resolution of the video
  quality: 75,


Fork or pull requests are always welcome. Currently it seems have a little performance issue while generating WebP thumbnail by using libwebp under iOS.