diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7ced3b678..394eb5179 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -150,7 +150,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Added move account API
- Enable remote users to interact with posts
- Possibility to discover users like `user@example.org`, while Pleroma is working on `pleroma.example.org`. Additional configuration required.
-- Added Pleroma.Upload.Filter.HeifToJpeg to automate converting .heic files from Apple devices to JPEGs which can be viewed in browsers.
### Fixed
- Subscription(Bell) Notifications: Don't create from Pipeline Ingested replies
diff --git a/lib/pleroma/upload/filter/heif_to_jpeg.ex b/lib/pleroma/upload/filter/heif_to_jpeg.ex
deleted file mode 100644
index a2095ba01..000000000
--- a/lib/pleroma/upload/filter/heif_to_jpeg.ex
+++ /dev/null
@@ -1,36 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2022 Pleroma Authors
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Upload.Filter.HeifToJpeg do
- @behaviour Pleroma.Upload.Filter
- alias Pleroma.Upload
- alias Vix.Vips.Operation
-
- @type conversion :: action :: String.t() | {action :: String.t(), opts :: String.t()}
- @type conversions :: conversion() | [conversion()]
-
- @spec filter(Pleroma.Upload.t()) :: {:ok, :atom} | {:error, String.t()}
- def filter(%Pleroma.Upload{content_type: "image/avif"} = upload), do: apply_filter(upload)
- def filter(%Pleroma.Upload{content_type: "image/heic"} = upload), do: apply_filter(upload)
- def filter(%Pleroma.Upload{content_type: "image/heif"} = upload), do: apply_filter(upload)
-
- def filter(_), do: {:ok, :noop}
-
- defp apply_filter(%Pleroma.Upload{name: name, path: path, tempfile: tempfile} = upload) do
- ext = String.split(path, ".") |> List.last()
-
- try do
- name = name |> String.replace_suffix(ext, "jpg")
- path = path |> String.replace_suffix(ext, "jpg")
- {:ok, {vixdata, _vixflags}} = Operation.heifload(tempfile)
- {:ok, jpegdata} = Operation.jpegsave_buffer(vixdata)
- :ok = File.write(tempfile, jpegdata)
-
- {:ok, :filtered, %Upload{upload | name: name, path: path, content_type: "image/jpeg"}}
- rescue
- e in ErlangError ->
- {:error, "#{__MODULE__}: #{inspect(e)}"}
- end
- end
-end
diff --git a/test/fixtures/image.heic b/test/fixtures/image.heic
deleted file mode 100644
index efd119a0e..000000000
Binary files a/test/fixtures/image.heic and /dev/null differ
diff --git a/test/pleroma/upload/filter/heif_to_jpeg_test.exs b/test/pleroma/upload/filter/heif_to_jpeg_test.exs
deleted file mode 100644
index 7627d18ce..000000000
--- a/test/pleroma/upload/filter/heif_to_jpeg_test.exs
+++ /dev/null
@@ -1,38 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2021 Pleroma Authors
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Upload.Filter.HeifToJpegTest do
- use Pleroma.DataCase, async: true
- alias Pleroma.Upload.Filter
-
- test "apply HeicToJpeg filter" do
- File.cp!(
- "test/fixtures/image.heic",
- "test/fixtures/heictmp"
- )
-
- upload = %Pleroma.Upload{
- name: "image.heic",
- content_type: "image/heic",
- path: Path.absname("test/fixtures/image.heic"),
- tempfile: Path.absname("test/fixtures/heictmp")
- }
-
- {:ok, :filtered, result} = Filter.HeifToJpeg.filter(upload)
-
- assert result.content_type == "image/jpeg"
- assert result.name == "image.jpg"
- assert String.ends_with?(result.path, "jpg")
-
- assert {:ok,
- %Majic.Result{
- content:
- "JPEG image data, JFIF standard 1.02, resolution (DPI), density 96x96, segment length 16, progressive, precision 8, 1024x768, components 3",
- encoding: "binary",
- mime_type: "image/jpeg"
- }} == Majic.perform(result.path, pool: Pleroma.MajicPool)
-
- on_exit(fn -> File.rm!("test/fixtures/heictmp") end)
- end
-end