diff --git a/plotid/tagplot_image.py b/plotid/tagplot_image.py
index 1490515ef2e7d877687b80774329c812dadbf2ed..2f19bf83fc4e0163f135f990c93298bf0ab4fecf 100644
--- a/plotid/tagplot_image.py
+++ b/plotid/tagplot_image.py
@@ -92,7 +92,7 @@ def tagplot_image(plotid_object: PlotOptions) -> PlotIDTransfer:
         if plotid_object.qrcode:
             qrcode = create_qrcode(img_id)
             qrcode.thumbnail(
-                (plotid_object.qr_size, plotid_object.qr_size), Image.ANTIALIAS
+                (plotid_object.qr_size, plotid_object.qr_size), Image.LANCZOS
             )
             img.paste(
                 qrcode,
diff --git a/plotid/tagplot_matplotlib.py b/plotid/tagplot_matplotlib.py
index c81ef3fa496d023225a320ecfa085e015e2e0b4d..1fef2f0c48b92ad3d741abeb28aee313bf4d28f9 100644
--- a/plotid/tagplot_matplotlib.py
+++ b/plotid/tagplot_matplotlib.py
@@ -75,7 +75,7 @@ def tagplot_matplotlib(plotid_object: PlotOptions) -> PlotIDTransfer:
         if plotid_object.qrcode:
             qrcode = create_qrcode(fig_id)
             qrcode.thumbnail(
-                (plotid_object.qr_size, plotid_object.qr_size), Image.ANTIALIAS
+                (plotid_object.qr_size, plotid_object.qr_size), Image.LANCZOS
             )
             fig.figimage(
                 qrcode,
diff --git a/requirements.txt b/requirements.txt
index daf6bc1b1a09e5809ffe08eb6e6c37ca454a041b..0b16fec0e5205844559dbdcf78cea85c6387d5ec 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,7 +6,7 @@ matplotlib==3.6.3
 myst-parser==0.18.0
 numpy==1.24.2
 packaging==23.0
-Pillow==9.4.0
+Pillow==10.0.0
 pyparsing==3.0.9
 python-dateutil==2.8.2
 qrcode==7.4.2