diff --git a/cgi/texmath.html b/cgi/texmath.html
--- a/cgi/texmath.html
+++ b/cgi/texmath.html
@@ -2,7 +2,7 @@
 <html lang="en">
 <head>
   <meta charset="utf-8">
-  <title>stmd.js demo</title>
+  <title>texmath demo</title>
   <script type="text/x-mathjax-config">
     MathJax.Hub.Config({
       config: ["MMLorHTML.js"],
@@ -34,7 +34,7 @@
 
       $(document).ready(function(){
         $('#convert-latex2mathml').click(function() {
-          $.getJSON("/cgi-bin/texmath-cgi",
+          $.post("/cgi-bin/texmath-cgi",
                    { 'input' : $('#latex-input').val(),
                      'from': 'tex',
                      'to': 'mathml' },
@@ -48,10 +48,10 @@
                      $('#preview').html('');
                    };
                    MathJax.Hub.Queue(["Typeset",MathJax.Hub,"preview"]);
-                })
+                }, 'json')
             });
         $('#convert-mathml2latex').click(function() {
-          $.getJSON("/cgi-bin/texmath-cgi",
+          $.post("/cgi-bin/texmath-cgi",
                    { 'input' : $('#mathml-input').val(),
                      'from': 'mathml',
                      'to': 'tex' },
@@ -65,7 +65,7 @@
                      $('#preview').text('');
                    };
                    MathJax.Hub.Queue(["Typeset",MathJax.Hub,"preview"]);
-                })
+                }, 'json')
             });
         $('a[data-toggle="tab"]').click(function (e) {
           $('#preview').text(''); // clear preview
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+texmath (0.8.6.3)
+
+  * Use POST instead of GET for texmath-cgi.
+
 texmath (0.8.6.2)
 
   * Fixed array alignment issues (jgm/pandoc#2864, jgm/pandoc#2310).
diff --git a/extra/texmath.hs b/extra/texmath.hs
--- a/extra/texmath.hs
+++ b/extra/texmath.hs
@@ -147,14 +147,14 @@
 
 runCGI :: IO ()
 runCGI = do
-  query <- getEnv "QUERY_STRING"
+  query <- getContents
   let topairs xs = case break (=='=') xs of
                         (ys,('=':zs)) -> (urlUnencode ys, urlUnencode zs)
                         (ys,_)        -> (urlUnencode ys,"")
   let pairs = map topairs $ splitOn "&" query
   inp <- case lookup "input" pairs of
-              Just x   -> return x
-              Nothing  -> err True 11 "Querry missing 'input'"
+                 Just x  -> return x
+                 Nothing -> err True 3 "Query missing 'input'"
   reader <- case lookup "from" pairs of
                  Just x  -> case lookup x readers of
                                  Just y  -> return y
diff --git a/texmath.cabal b/texmath.cabal
--- a/texmath.cabal
+++ b/texmath.cabal
@@ -1,5 +1,5 @@
 Name:                texmath
-Version:             0.8.6.2
+Version:             0.8.6.3
 Cabal-Version:       >= 1.10
 Build-type:          Simple
 Synopsis:            Conversion between formats used to represent mathematics.
