diff --git a/controllers/thumbnail_controller/thumbnail_resource_handler.go b/controllers/thumbnail_controller/thumbnail_resource_handler.go
index 0086ff1fcd9c5798b5b05153cc376d5c7b170cdc..805f4b80190a84403124022142c1a3da09965b48 100644
--- a/controllers/thumbnail_controller/thumbnail_resource_handler.go
+++ b/controllers/thumbnail_controller/thumbnail_resource_handler.go
@@ -16,6 +16,7 @@ import (
 	"strconv"
 	"sync"
 
+	"github.com/chai2010/webp"
 	"github.com/disintegration/imaging"
 	"github.com/prometheus/client_golang/prometheus"
 	"github.com/sirupsen/logrus"
@@ -154,7 +155,11 @@ func GenerateThumbnail(media *types.Media, width int, height int, method string,
 			return nil, err2
 		}
 		defer cleanup.DumpAndCloseStream(mediaStream)
-		src, err = imaging.Decode(mediaStream)
+		if media.ContentType == "image/webp" {
+			src, err = webp.Decode(mediaStream)
+		} else {
+			src, err = imaging.Decode(mediaStream)
+		}
 	}
 
 	if err != nil {
diff --git a/go.mod b/go.mod
index b66907e5867308bc5c33a8f1f260240692c4e913..ba50122e115e0fc89b5dffcbae21a64b08d1ff8a 100644
--- a/go.mod
+++ b/go.mod
@@ -11,6 +11,7 @@ require (
 	github.com/bep/debounce v1.2.0
 	github.com/buckket/go-blurhash v1.0.3
 	github.com/cenk/backoff v2.2.1+incompatible // indirect
+	github.com/chai2010/webp v1.1.0
 	github.com/cupcake/sigil v0.0.0-20131127230922-6bf9722f2ae8
 	github.com/didip/tollbooth v4.0.2+incompatible
 	github.com/disintegration/imaging v1.6.2
diff --git a/go.sum b/go.sum
index 5c0a4250b879e31813754f253c5aad5958b0eb20..cfa9fededeee46e85f0584d833423457dcfbdfb1 100644
--- a/go.sum
+++ b/go.sum
@@ -60,6 +60,8 @@ github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEe
 github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
 github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/chai2010/webp v1.1.0 h1:4Ei0/BRroMF9FaXDG2e4OxwFcuW2vcXd+A6tyqTJUQQ=
+github.com/chai2010/webp v1.1.0/go.mod h1:LP12PG5IFmLGHUU26tBiCBKnghxx3toZFwDjOYvd3Ow=
 github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE=
 github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ=
 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=