diff --git a/docs/reference.md b/docs/reference.md
index b4d7596..5e3c198 100644
--- a/docs/reference.md
+++ b/docs/reference.md
@@ -145,12 +145,12 @@
     *   [dotfile: Info about the toplevel .gn file.](#dotfile)
     *   [execution: Build graph and execution overview.](#execution)
     *   [grammar: Language and grammar for GN build files.](#grammar)
-    *   [input_conversion: Processing input from exec_script and read_file.](#input_conversion)
+    *   [input_conversion: Processing input from exec_script and read_file.](#io_conversion)
     *   [label_pattern: Matching more than one label.](#label_pattern)
     *   [labels: About labels.](#labels)
     *   [ninja_rules: How Ninja build rules are named.](#ninja_rules)
     *   [nogncheck: Annotating includes for checking.](#nogncheck)
-    *   [output_conversion: Specifies how to transform a value to output.](#output_conversion)
+    *   [output_conversion: Specifies how to transform a value to output.](#io_conversion)
     *   [runtime_deps: How runtime dependency computation works.](#runtime_deps)
     *   [source_expansion: Map sources to outputs for scripts.](#source_expansion)
     *   [switches: Show available command-line switches.](#switch_list)
@@ -2052,7 +2052,7 @@
       unspecified or the empty list which means no arguments.
 
   input_conversion:
-      Controls how the file is read and parsed. See "gn help input_conversion".
+      Controls how the file is read and parsed. See "gn help io_conversion".
 
       If unspecified, defaults to the empty string which causes the script
       result to be discarded. exec script will return None.
@@ -2596,7 +2596,7 @@
       Filename to read, relative to the build file.
 
   input_conversion
-      Controls how the file is read and parsed. See "gn help input_conversion".
+      Controls how the file is read and parsed. See "gn help io_conversion".
 ```
 
 #### **Example**
@@ -3693,7 +3693,7 @@
       The list or string to write.
 
   output_conversion
-    Controls how the output is written. See "gn help output_conversion".
+    Controls how the output is written. See "gn help io_conversion".
 ```
 ## <a name="predefined_variables"></a>Built-in predefined variables
 
@@ -5210,7 +5210,7 @@
 
 ```
   Controls how the "contents" of a generated_file target is formatted.
-  See "gn help output_conversion".
+  See "gn help io_conversion".
 ```
 ### <a name="var_output_dir"></a>**output_dir**: [directory] Directory to put output file in.
 
diff --git a/tools/gn/command_help.cc b/tools/gn/command_help.cc
index 543f5d1..78c9161 100644
--- a/tools/gn/command_help.cc
+++ b/tools/gn/command_help.cc
@@ -79,7 +79,7 @@
                  "grammar");
   PrintShortHelp(
       "input_conversion: Processing input from exec_script and read_file.",
-      "input_conversion");
+      "io_conversion");
   PrintShortHelp("label_pattern: Matching more than one label.",
                  "label_pattern");
   PrintShortHelp("labels: About labels.", "labels");
@@ -88,7 +88,7 @@
   PrintShortHelp("nogncheck: Annotating includes for checking.", "nogncheck");
   PrintShortHelp(
       "output_conversion: Specifies how to transform a value to output.",
-      "output_conversion");
+      "io_conversion");
   PrintShortHelp("runtime_deps: How runtime dependency computation works.",
                  "runtime_deps");
   PrintShortHelp("source_expansion: Map sources to outputs for scripts.",
diff --git a/tools/gn/function_exec_script.cc b/tools/gn/function_exec_script.cc
index 89570db..3ef7646 100644
--- a/tools/gn/function_exec_script.cc
+++ b/tools/gn/function_exec_script.cc
@@ -95,7 +95,7 @@
       unspecified or the empty list which means no arguments.
 
   input_conversion:
-      Controls how the file is read and parsed. See "gn help input_conversion".
+      Controls how the file is read and parsed. See "gn help io_conversion".
 
       If unspecified, defaults to the empty string which causes the script
       result to be discarded. exec script will return None.
diff --git a/tools/gn/function_read_file.cc b/tools/gn/function_read_file.cc
index 1cc29f5..8f34483 100644
--- a/tools/gn/function_read_file.cc
+++ b/tools/gn/function_read_file.cc
@@ -32,7 +32,7 @@
       Filename to read, relative to the build file.
 
   input_conversion
-      Controls how the file is read and parsed. See "gn help input_conversion".
+      Controls how the file is read and parsed. See "gn help io_conversion".
 
 Example
 
diff --git a/tools/gn/function_write_file.cc b/tools/gn/function_write_file.cc
index 44e6b16..d56724d 100644
--- a/tools/gn/function_write_file.cc
+++ b/tools/gn/function_write_file.cc
@@ -47,7 +47,7 @@
       The list or string to write.
 
   output_conversion
-    Controls how the output is written. See "gn help output_conversion".
+    Controls how the output is written. See "gn help io_conversion".
 )";
 
 Value RunWriteFile(Scope* scope,
diff --git a/tools/gn/variables.cc b/tools/gn/variables.cc
index a809a1c..234a2ca 100644
--- a/tools/gn/variables.cc
+++ b/tools/gn/variables.cc
@@ -2065,7 +2065,7 @@
     R"("output_conversion: Data format for generated_file targets.
 
   Controls how the "contents" of a generated_file target is formatted.
-  See "gn help output_conversion".
+  See "gn help io_conversion".
 )";
 
 const char kWriteRuntimeDeps[] = "write_runtime_deps";
