diff --git a/Makefile b/Makefile
index bfc5040cb..b6b145e67 100644
--- a/Makefile
+++ b/Makefile
@@ -417,6 +417,20 @@ deploy-docs: venv ## Deploy docs
build-web:
cd web && npm run build
+LOGO_SOURCE = docs/images/logo.svg
+
+.PHONY: generate-logo-assets
+generate-logo-assets: ## Generate logo and favicon assets from SVG
+ @command -v rsvg-convert >/dev/null 2>&1 || { echo "rsvg-convert not found; install librsvg (e.g. 'brew install librsvg')"; exit 1; }
+ mkdir -p docs/overrides web/src/assets
+ cp $(LOGO_SOURCE) docs/overrides/logo.svg
+ rsvg-convert -w 256 -h 256 $(LOGO_SOURCE) -o docs/images/logo.png
+ rsvg-convert -w 256 -h 256 $(LOGO_SOURCE) -o docs/overrides/logo.png
+ rsvg-convert -w 64 -h 64 $(LOGO_SOURCE) -o docs/overrides/favicon.png
+ rsvg-convert -w 128 -h 128 $(LOGO_SOURCE) -o web/src/assets/logo.png
+ rsvg-convert -w 64 -h 64 $(LOGO_SOURCE) -o web/src/assets/favicon.png
+ $(MAKE) build-web
+
# Image / release configuration.
# IMAGE_TAGS is the space-separated list of tag suffixes applied to each component image.
# IMAGE_PUSH_PLATFORMS is the platform list for `image-push` (multi-arch by default).
diff --git a/README.md b/README.md
index 2d6b312d3..3cff0189e 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
[](https://goreportcard.com/report/github.com/kube-bind/kube-bind)
[](https://github.com/kube-bind/kube-bind/blob/main/LICENSE)
diff --git a/docs/images/logo.png b/docs/images/logo.png
new file mode 100644
index 000000000..252d3ea3f
Binary files /dev/null and b/docs/images/logo.png differ
diff --git a/docs/images/logo.svg b/docs/images/logo.svg
index 10dab2b0e..406c259eb 100644
--- a/docs/images/logo.svg
+++ b/docs/images/logo.svg
@@ -1,64 +1,28 @@
-
-
-