diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
index 41dc5d0f65..bc539884e5 100644
--- a/src/libcamera/v4l2_videodevice.cpp
+++ b/src/libcamera/v4l2_videodevice.cpp
@@ -447,8 +447,19 @@ std::string V4L2DeviceFormat::toString() const
  */
 std::ostream &operator<<(std::ostream &out, const V4L2DeviceFormat &f)
 {
-	out << f.size << "-" << f.fourcc << "/"
-	    << ColorSpace::toString(f.colorSpace);
+	out << f.size << '-' << f.fourcc << '[';
+
+	for (size_t i = 0; i < f.planesCount; i++) {
+		const auto &p = f.planes[i];
+
+		out << p.size << '/' << p.bpl;
+
+		if (i + 1 < f.planesCount)
+			out << ':';
+	}
+
+	out << "]/" << ColorSpace::toString(f.colorSpace);
+
 	return out;
 }
 
