diff --git a/dvc/repo/plots/__init__.py b/dvc/repo/plots/__init__.py
--- a/dvc/repo/plots/__init__.py
+++ b/dvc/repo/plots/__init__.py
@@ -553,7 +553,7 @@ def parse(fs, path, props=None, **kwargs):
         return _load_sv(path=path, fs=fs, delimiter="\t", header=header)
     if extension in LOADERS or extension in (".yml", ".yaml"):
         return LOADERS[extension](path=path, fs=fs)
-    if extension in (".jpeg", ".jpg", ".gif", ".png"):
+    if extension in (".jpeg", ".jpg", ".gif", ".png", ".svg"):
         with fs.open(path, "rb") as fd:
             return fd.read()
     raise PlotMetricTypeError(path)

I think we can expand as needed by users.
SVG? Maybe TIFF? Uncompressed bitmaps? I'd ask CV people.
I think that SVG is perhaps a good first addition, as plotting libraries can output that and they are often a bit smaller than PNGs. Having at least one vector format and one raster format would be a good goal. Probably not a first priority, but it would be nice!
Unless I am missing something, this would only need to update:

https://github.com/iterative/dvc/blob/d7152e360e4770c54645e84ca9b690389d60dd07/dvc/repo/plots/__init__.py#L556
diff --git a/tests/func/plots/test_show.py b/tests/func/plots/test_show.py
--- a/tests/func/plots/test_show.py
+++ b/tests/func/plots/test_show.py
@@ -257,16 +257,21 @@ def test_log_errors(
     )
 
 
-def test_plots_binary(tmp_dir, scm, dvc, run_copy_metrics, custom_template):
-    with open("image.jpg", "wb") as fd:
+@pytest.mark.parametrize("ext", ["jpg", "svg"])
+def test_plots_binary(
+    tmp_dir, scm, dvc, run_copy_metrics, custom_template, ext
+):
+    file1 = f"image.{ext}"
+    file2 = f"plot.{ext}"
+    with open(file1, "wb") as fd:
         fd.write(b"content")
 
-    dvc.add(["image.jpg"])
+    dvc.add([file1])
     run_copy_metrics(
-        "image.jpg",
-        "plot.jpg",
+        file1,
+        file2,
         commit="run training",
-        plots=["plot.jpg"],
+        plots=[file2],
         name="s2",
         single_stage=False,
     )
@@ -276,12 +281,12 @@ def test_plots_binary(tmp_dir, scm, dvc, run_copy_metrics, custom_template):
 
     scm.tag("v1")
 
-    with open("plot.jpg", "wb") as fd:
+    with open(file2, "wb") as fd:
         fd.write(b"content2")
 
     result = dvc.plots.show(revs=["v1", "workspace"])
-    assert get_plot(result, "v1", file="plot.jpg") == b"content"
-    assert get_plot(result, "workspace", file="plot.jpg") == b"content2"
+    assert get_plot(result, "v1", file=file2) == b"content"
+    assert get_plot(result, "workspace", file=file2) == b"content2"
 
 
 def test_collect_non_existing_dir(tmp_dir, dvc, run_copy_metrics):

plots: expand supported images extensions
After #6431 we support rendering of JPEG, GIF, PNG images.
We could expand this list by other images types that browsers support.

Related:
https://github.com/iterative/dvc.org/pull/2839#discussion_r716327710

tests/func/plots/test_show.py::test_plots_binary[svg]
tests/func/plots/test_show.py::test_show_targets tests/func/plots/test_show.py::test_plot_cache_missing tests/func/plots/test_show.py::test_plot_wrong_metric_type tests/func/plots/test_show.py::test_show_non_plot[True] tests/func/plots/test_show.py::test_show_non_plot[False] tests/func/plots/test_show.py::test_show_non_plot_and_plot_with_params tests/func/plots/test_show.py::test_show_from_subdir tests/func/plots/test_show.py::test_plots_show_non_existing tests/func/plots/test_show.py::test_plots_show_overlap[True] tests/func/plots/test_show.py::test_plots_show_overlap[False] tests/func/plots/test_show.py::test_dir_plots tests/func/plots/test_show.py::test_ignore_parsing_error tests/func/plots/test_show.py::test_log_errors[dvc.yaml-path_kwargs0] tests/func/plots/test_show.py::test_log_errors[plot.yaml-path_kwargs1] tests/func/plots/test_show.py::test_plots_binary[jpg] tests/func/plots/test_show.py::test_collect_non_existing_dir tests/func/plots/test_show.py::test_load_from_config[True-plot_config0-expected_datafiles0] tests/func/plots/test_show.py::test_load_from_config[True-plot_config1-expected_datafiles1] tests/func/plots/test_show.py::test_load_from_config[False-plot_config0-expected_datafiles0] tests/func/plots/test_show.py::test_load_from_config[False-plot_config1-expected_datafiles1]