diff --git a/Lib/_pyio.py b/Lib/_pyio.py
index c6811db..535c9ca 100644
--- a/Lib/_pyio.py
+++ b/Lib/_pyio.py
@@ -1399,6 +1399,9 @@
     #   - "bytes_..." for integer variables that count input bytes
     #   - "chars_..." for integer variables that count decoded characters
 
+    def __repr__(self):
+        return "<TextIOWrapper encoding={0}>".format(self.encoding)
+
     @property
     def encoding(self):
         return self._encoding
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 5fc53ea..ef3fed9 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -1354,6 +1354,12 @@
         self.assertRaises(TypeError, t.__init__, b, newline=42)
         self.assertRaises(ValueError, t.__init__, b, newline='xyzzy')
 
+    def test_repr(self):
+        raw = self.BytesIO("hello".encode("utf-8"))
+        b = self.BufferedReader(raw)
+        t = self.TextIOWrapper(b, encoding="utf-8")
+        self.assertEqual(repr(t), "<TextIOWrapper encoding=utf-8>")
+
     def test_line_buffering(self):
         r = self.BytesIO()
         b = self.BufferedWriter(r, 1000)
diff --git a/Modules/_textio.c b/Modules/_textio.c
index c70b1dd..a61e6bc 100644
--- a/Modules/_textio.c
+++ b/Modules/_textio.c
@@ -2171,6 +2171,14 @@
     return PyObject_CallMethodObjArgs(self->buffer, _PyIO_str_truncate, NULL);
 }
 
+static PyObject *
+TextIOWrapper_repr(PyTextIOWrapperObject *self)
+{
+  CHECK_INITIALIZED(self);
+  return PyUnicode_FromFormat("<TextIOWrapper encoding=%S>", self->encoding);
+}
+
+
 /* Inquiries */
 
 static PyObject *
@@ -2372,9 +2380,9 @@
     (destructor)TextIOWrapper_dealloc, /*tp_dealloc*/
     0,                          /*tp_print*/
     0,                          /*tp_getattr*/
-    0,                          /*tp_setattr*/
+    0,                          /*tps_etattr*/
     0,                          /*tp_compare */
-    0,                          /*tp_repr*/
+    (reprfunc)TextIOWrapper_repr,/*tp_repr*/
     0,                          /*tp_as_number*/
     0,                          /*tp_as_sequence*/
     0,                          /*tp_as_mapping*/
