diff --git a/include/libcamera/geometry.h b/include/libcamera/geometry.h
index 7d4b8bcfe3d8..44561d9cc5a4 100644
--- a/include/libcamera/geometry.h
+++ b/include/libcamera/geometry.h
@@ -18,6 +18,7 @@ struct Rectangle {
 	unsigned int width;
 	unsigned int height;
 
+	bool isNull() const { return !width && !height; }
 	const std::string toString() const;
 };
 
diff --git a/src/libcamera/geometry.cpp b/src/libcamera/geometry.cpp
index 24c44fb43acf..af29ed1119fe 100644
--- a/src/libcamera/geometry.cpp
+++ b/src/libcamera/geometry.cpp
@@ -49,6 +49,12 @@ namespace libcamera {
  * \brief The distance between the top and bottom sides
  */
 
+/**
+ * \fn bool Rectangle::isNull() const
+ * \brief Check if the rectangle is null
+ * \return True if both the width and height are 0, or false otherwise
+ */
+
 /**
  * \brief Assemble and return a string describing the rectangle
  * \return A string describing the Rectangle
