diff --git a/test/typographer.test.js b/test/typographer.test.js
index <HASH>..<HASH> 100644
--- a/test/typographer.test.js
+++ b/test/typographer.test.js
@@ -85,4 +85,8 @@ module.exports = {
     assert.eql( sp.educateDashes( '-- : --- : -- : ---'),
                   '&#8212; : &#8211; : &#8212; : &#8211;');
   },
+  'educateEllipses': function(){
+    assert.eql( sp.educateEllipses( '. ... : . . . .'),
+                                '. &#8230; : &#8230; .');
+  },
 };
diff --git a/typographer.js b/typographer.js
index <HASH>..<HASH> 100644
--- a/typographer.js
+++ b/typographer.js
@@ -261,4 +261,14 @@
                .replace(/--/g,  '&#8212;');   // em  (yes, backwards)
   };
 
+  /**
+   * Returns input string, with each instance of "..."
+   * translated to an ellipsis HTML entity.
+   *
+   */
+  SmartyPants.prototype.educateEllipses = function(text) {
+    return text.replace(/\.\.\./g,    '&#8230;')
+               .replace(/\. \. \./g,  '&#8230;');
+  };
+
 }(this));
added SmartyPants.educateEllipses function