diff --git a/messages/include/nvram/messages/io.h b/messages/include/nvram/messages/io.h
index 08c1091..3957015 100644
--- a/messages/include/nvram/messages/io.h
+++ b/messages/include/nvram/messages/io.h
@@ -201,7 +201,7 @@
   // Construct a |BlobOutputStreamBuffer| that stores all written data to
   // |blob|, which will get resized as necessary. Note that |blob| must remain
   // valid for the life time of the |BlobOutputStreamBuffer| object.
-  BlobOutputStreamBuffer(Blob* blob);
+  explicit BlobOutputStreamBuffer(Blob* blob);
   ~BlobOutputStreamBuffer() override = default;
 
   // Truncate the blob to match the current output size.
diff --git a/messages/include/nvram/messages/optional.h b/messages/include/nvram/messages/optional.h
index 2860e3e..01a49a6 100644
--- a/messages/include/nvram/messages/optional.h
+++ b/messages/include/nvram/messages/optional.h
@@ -24,7 +24,7 @@
 template <typename ValueType> class Optional {
  public:
   Optional() = default;
-  Optional(ValueType value) : value_(value), valid_(true) {}
+  explicit Optional(ValueType value) : value_(value), valid_(true) {}
 
   bool valid() const { return valid_; }
   const ValueType& value() const { return value_; }
diff --git a/messages/include/nvram/messages/proto.hpp b/messages/include/nvram/messages/proto.hpp
index aabeb8c..3254583 100644
--- a/messages/include/nvram/messages/proto.hpp
+++ b/messages/include/nvram/messages/proto.hpp
@@ -387,7 +387,7 @@
 template <typename StructType>
 class MessageEncoder : public MessageEncoderBase {
  public:
-  MessageEncoder(const StructType& object)
+  explicit MessageEncoder(const StructType& object)
       : MessageEncoderBase(&object,
                            StructDescriptor<StructType>::kDescriptors,
                            StructDescriptor<StructType>::kNumDescriptors) {}
@@ -404,7 +404,7 @@
 template <typename StructType>
 class MessageDecoder : public MessageDecoderBase {
  public:
-  MessageDecoder(StructType& object)
+  explicit MessageDecoder(StructType& object)
       : MessageDecoderBase(&object,
                            StructDescriptor<StructType>::kDescriptors,
                            StructDescriptor<StructType>::kNumDescriptors) {}
diff --git a/messages/include/nvram/messages/struct.h b/messages/include/nvram/messages/struct.h
index 13932fc..589666f 100644
--- a/messages/include/nvram/messages/struct.h
+++ b/messages/include/nvram/messages/struct.h
@@ -249,7 +249,7 @@
   using List = FieldSpecList<FieldSpec, Tail...>;
   using TailList = FieldSpecList<Tail...>;
 
-  constexpr FieldSpecList(FieldSpec field_spec, Tail... tail)
+  constexpr explicit FieldSpecList(FieldSpec field_spec, Tail... tail)
       : kFieldSpec(field_spec), kTail(tail...) {}
 
   template <size_t index>
