diff --git a/stats/rtcstats_objects.cc b/stats/rtcstats_objects.cc
index f24fd66..19e94b3 100644
--- a/stats/rtcstats_objects.cc
+++ b/stats/rtcstats_objects.cc
@@ -38,11 +38,13 @@
 const char* const RTCMediaStreamTrackKind::kAudio = "audio";
 const char* const RTCMediaStreamTrackKind::kVideo = "video";
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCCertificateStats, RTCStats, "certificate",
     &fingerprint,
     &fingerprint_algorithm,
     &base64_certificate,
     &issuer_certificate_id);
+// clang-format on
 
 RTCCertificateStats::RTCCertificateStats(
     const std::string& id, int64_t timestamp_us)
@@ -70,6 +72,7 @@
 RTCCertificateStats::~RTCCertificateStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCCodecStats, RTCStats, "codec",
     &payload_type,
     &mime_type,
@@ -77,6 +80,7 @@
     &channels,
     &sdp_fmtp_line,
     &implementation);
+// clang-format on
 
 RTCCodecStats::RTCCodecStats(
     const std::string& id, int64_t timestamp_us)
@@ -108,6 +112,7 @@
 RTCCodecStats::~RTCCodecStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCDataChannelStats, RTCStats, "data-channel",
     &label,
     &protocol,
@@ -117,6 +122,7 @@
     &bytes_sent,
     &messages_received,
     &bytes_received);
+// clang-format on
 
 RTCDataChannelStats::RTCDataChannelStats(
     const std::string& id, int64_t timestamp_us)
@@ -152,6 +158,7 @@
 RTCDataChannelStats::~RTCDataChannelStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCIceCandidatePairStats, RTCStats, "candidate-pair",
     &transport_id,
     &local_candidate_id,
@@ -177,6 +184,7 @@
     &consent_requests_sent,
     &consent_responses_received,
     &consent_responses_sent);
+// clang-format on
 
 RTCIceCandidatePairStats::RTCIceCandidatePairStats(
     const std::string& id, int64_t timestamp_us)
@@ -244,6 +252,7 @@
 RTCIceCandidatePairStats::~RTCIceCandidatePairStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCIceCandidateStats, RTCStats, "ice-candidate",
     &transport_id,
     &is_remote,
@@ -254,6 +263,7 @@
     &priority,
     &url,
     &deleted);
+// clang-format on
 
 RTCIceCandidateStats::RTCIceCandidateStats(
     const std::string& id, int64_t timestamp_us, bool is_remote)
@@ -322,9 +332,11 @@
   return kType;
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCMediaStreamStats, RTCStats, "stream",
     &stream_identifier,
     &track_ids);
+// clang-format on
 
 RTCMediaStreamStats::RTCMediaStreamStats(
     const std::string& id, int64_t timestamp_us)
@@ -348,6 +360,7 @@
 RTCMediaStreamStats::~RTCMediaStreamStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCMediaStreamTrackStats, RTCStats, "track",
                      &track_identifier,
                      &remote_source,
@@ -369,6 +382,7 @@
                      &total_samples_duration,
                      &echo_return_loss,
                      &echo_return_loss_enhancement);
+// clang-format on
 
 RTCMediaStreamTrackStats::RTCMediaStreamTrackStats(
     const std::string& id, int64_t timestamp_us, const char* kind)
@@ -430,9 +444,11 @@
 RTCMediaStreamTrackStats::~RTCMediaStreamTrackStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCPeerConnectionStats, RTCStats, "peer-connection",
     &data_channels_opened,
     &data_channels_closed);
+// clang-format on
 
 RTCPeerConnectionStats::RTCPeerConnectionStats(
     const std::string& id, int64_t timestamp_us)
@@ -456,6 +472,7 @@
 RTCPeerConnectionStats::~RTCPeerConnectionStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCRTPStreamStats, RTCStats, "rtp",
     &ssrc,
     &associate_stats_id,
@@ -469,6 +486,7 @@
     &nack_count,
     &sli_count,
     &qp_sum);
+// clang-format on
 
 RTCRTPStreamStats::RTCRTPStreamStats(
     const std::string& id, int64_t timestamp_us)
@@ -512,6 +530,7 @@
 RTCRTPStreamStats::~RTCRTPStreamStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(
     RTCInboundRTPStreamStats, RTCRTPStreamStats, "inbound-rtp",
     &packets_received,
@@ -531,6 +550,7 @@
     &gap_loss_rate,
     &gap_discard_rate,
     &frames_decoded);
+// clang-format on
 
 RTCInboundRTPStreamStats::RTCInboundRTPStreamStats(
     const std::string& id, int64_t timestamp_us)
@@ -584,12 +604,14 @@
 RTCInboundRTPStreamStats::~RTCInboundRTPStreamStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(
     RTCOutboundRTPStreamStats, RTCRTPStreamStats, "outbound-rtp",
     &packets_sent,
     &bytes_sent,
     &target_bitrate,
     &frames_encoded);
+// clang-format on
 
 RTCOutboundRTPStreamStats::RTCOutboundRTPStreamStats(
     const std::string& id, int64_t timestamp_us)
@@ -617,6 +639,7 @@
 RTCOutboundRTPStreamStats::~RTCOutboundRTPStreamStats() {
 }
 
+// clang-format off
 WEBRTC_RTCSTATS_IMPL(RTCTransportStats, RTCStats, "transport",
     &bytes_sent,
     &bytes_received,
@@ -625,6 +648,7 @@
     &selected_candidate_pair_id,
     &local_certificate_id,
     &remote_certificate_id);
+// clang-format on
 
 RTCTransportStats::RTCTransportStats(
     const std::string& id, int64_t timestamp_us)
