diff --git a/documentation/images/internal_architecture.jpg b/documentation/images/internal_architecture.jpg
deleted file mode 100644
index bc7c300a7..000000000
Binary files a/documentation/images/internal_architecture.jpg and /dev/null differ
diff --git a/documentation/images/internal_architecture.svg b/documentation/images/internal_architecture.svg
new file mode 100644
index 000000000..5948186a7
--- /dev/null
+++ b/documentation/images/internal_architecture.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/documentation/images/internal_architecture.xml b/documentation/images/internal_architecture.xml
new file mode 100644
index 000000000..4541c1c97
--- /dev/null
+++ b/documentation/images/internal_architecture.xml
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/documentation/internal_architecture.md b/documentation/internal_architecture.md
index 8b0f5d07f..dfa572065 100644
--- a/documentation/internal_architecture.md
+++ b/documentation/internal_architecture.md
@@ -4,7 +4,9 @@ The Prometheus server consists of many internal components that work together in
The overall Prometheus server architecture is shown in this diagram:
-![Prometheus server architecture](images/internal_architecture.jpg)
+![Prometheus server architecture](images/internal_architecture.svg)
+
+**NOTE**: Arrows indicate request or connection initiation direction, not necessarily dataflow direction.
The sections below will explain each component in the diagram. Code links and explanations are based on Prometheus version 2.3.1. Future Prometheus versions may differ.