diff --git a/docs/io.md b/docs/io.md
index 7933877dcaddc93d595da8af7eb19f16dcbc9b70..95f9e66a50857c8f087ffb7a48d5c25bf7505dad 100644
--- a/docs/io.md
+++ b/docs/io.md
@@ -53,7 +53,7 @@ Interval specifies the amount of data in each url and defaults to 1 day.
 
 ### Output Format
 
-`--output {binlog, edge, iaga2002, pcdcp, plot, temperature, vbf}`
+`--output {binlog, edge, iaga2002, imfjson, pcdcp, plot, temperature, vbf}`
 
 Specify output format.
 
@@ -66,6 +66,9 @@ Specify output format.
 `iaga2002`
   IAGA2002 format.
 
+`imfjson`
+  IMFJSON format.
+
 `pcdcp`
   PCDCP format.
 
@@ -104,7 +107,7 @@ For output formats `binlog`, `iaga2002`, `pcdcp`, `temperature`, `vbf`
 `--output-file FILE`
   Write to a specific file.
 
-`--output-stdin`
+`--output-stdout`
   Write to standard output
 
 `--output-url URLTEMPLATE`
diff --git a/geomagio/Controller.py b/geomagio/Controller.py
index 7db68da0e5b45cd7c7a57232aed9f79f746df675..0ab14743208533315eb67515fd70c61485b3ebbc 100644
--- a/geomagio/Controller.py
+++ b/geomagio/Controller.py
@@ -14,6 +14,7 @@ from . import TimeseriesUtility
 from . import binlog
 from . import edge
 from . import iaga2002
+from . import imfjson
 from . import pcdcp
 from . import imfv122
 from . import imfv283
@@ -378,6 +379,8 @@ def get_output_factory(args):
             output_factory = binlog.BinLogFactory(**output_factory_args)
         elif output_type == 'iaga2002':
             output_factory = iaga2002.IAGA2002Factory(**output_factory_args)
+        elif output_type == 'imfjson':
+            output_factory = imfjson.IMFJSONFactory(**output_factory_args)
         elif output_type == 'pcdcp':
             output_factory = pcdcp.PCDCPFactory(**output_factory_args)
         elif output_type == 'temperature':
@@ -766,6 +769,7 @@ def parse_args(args):
                 'binlog',
                 'edge',
                 'iaga2002',
+                'imfjson',
                 'pcdcp',
                 'plot',
                 'temperature',