diff --git a/http2/hpack/decoder/hpack_decoder_state.cc b/http2/hpack/decoder/hpack_decoder_state.cc
index edc2167..3140a19 100644
--- a/http2/hpack/decoder/hpack_decoder_state.cc
+++ b/http2/hpack/decoder/hpack_decoder_state.cc
@@ -4,6 +4,8 @@
 
 #include "http2/hpack/decoder/hpack_decoder_state.h"
 
+#include <utility>
+
 #include "http2/http2_constants.h"
 #include "http2/platform/api/http2_logging.h"
 #include "http2/platform/api/http2_macros.h"
@@ -111,7 +113,7 @@
     std::string value(ExtractString(value_buffer));
     listener_->OnHeader(entry->name, value);
     if (entry_type == HpackEntryType::kIndexedLiteralHeader) {
-      decoder_tables_.Insert(entry->name, value);
+      decoder_tables_.Insert(entry->name, std::move(value));
     }
   } else {
     ReportError(HpackDecodingError::kInvalidNameIndex, "");
@@ -136,7 +138,7 @@
   std::string value(ExtractString(value_buffer));
   listener_->OnHeader(name, value);
   if (entry_type == HpackEntryType::kIndexedLiteralHeader) {
-    decoder_tables_.Insert(name, value);
+    decoder_tables_.Insert(std::move(name), std::move(value));
   }
 }
 
diff --git a/http2/hpack/decoder/hpack_decoder_tables.cc b/http2/hpack/decoder/hpack_decoder_tables.cc
index e60dbd5..9f50ec7 100644
--- a/http2/hpack/decoder/hpack_decoder_tables.cc
+++ b/http2/hpack/decoder/hpack_decoder_tables.cc
@@ -4,8 +4,6 @@
 
 #include "http2/hpack/decoder/hpack_decoder_tables.h"
 
-#include <utility>
-
 #include "absl/strings/str_cat.h"
 #include "http2/hpack/http2_hpack_constants.h"
 #include "http2/platform/api/http2_logging.h"
@@ -82,12 +80,12 @@
 
 // TODO(jamessynge): Check somewhere before here that names received from the
 // peer are valid (e.g. are lower-case, no whitespace, etc.).
-void HpackDecoderDynamicTable::Insert(const std::string& name,
-                                      const std::string& value) {
-  HpackStringPair entry(name, value);
+void HpackDecoderDynamicTable::Insert(std::string name, std::string value) {
+  HpackStringPair entry(std::move(name), std::move(value));
   size_t entry_size = entry.size();
   HTTP2_DVLOG(2) << "InsertEntry of size=" << entry_size
-                 << "\n     name: " << name << "\n    value: " << value;
+                 << "\n     name: " << entry.name
+                 << "\n    value: " << entry.value;
   if (entry_size > size_limit_) {
     HTTP2_DVLOG(2) << "InsertEntry: entry larger than table, removing "
                    << table_.size() << " entries, of total size "
diff --git a/http2/hpack/decoder/hpack_decoder_tables.h b/http2/hpack/decoder/hpack_decoder_tables.h
index c233472..45fce60 100644
--- a/http2/hpack/decoder/hpack_decoder_tables.h
+++ b/http2/hpack/decoder/hpack_decoder_tables.h
@@ -21,6 +21,7 @@
 #include <cstdint>
 #include <iosfwd>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "http2/http2_constants.h"
@@ -88,7 +89,7 @@
 
   // Insert entry if possible.
   // If entry is too large to insert, then dynamic table will be empty.
-  void Insert(const std::string& name, const std::string& value);
+  void Insert(std::string name, std::string value);
 
   // If index is valid, returns a pointer to the entry, otherwise returns
   // nullptr.
@@ -137,10 +138,8 @@
 
   // Insert entry if possible.
   // If entry is too large to insert, then dynamic table will be empty.
-  // TODO(jamessynge): Add methods for moving the string(s) into the table,
-  // or for otherwise avoiding unnecessary copies.
-  void Insert(const std::string& name, const std::string& value) {
-    dynamic_table_.Insert(name, value);
+  void Insert(std::string name, std::string value) {
+    dynamic_table_.Insert(std::move(name), std::move(value));
   }
 
   // If index is valid, returns a pointer to the entry, otherwise returns
