diff --git a/lib/nodejs/README.md b/lib/nodejs/README.md
index 5b15ce6..50acfbd 100644
--- a/lib/nodejs/README.md
+++ b/lib/nodejs/README.md
@@ -38,25 +38,27 @@
 
 Here is a Cassandra example:
 
-    var thrift = require('thrift'),
-        Cassandra = require('./gen-nodejs/Cassandra')
-        ttypes = require('./gen-nodejs/cassandra_types');
+```js
+var thrift = require('thrift'),
+    Cassandra = require('./gen-nodejs/Cassandra')
+    ttypes = require('./gen-nodejs/cassandra_types');
 
-    var connection = thrift.createConnection("localhost", 9160),
-        client = thrift.createClient(Cassandra, connection);
+var connection = thrift.createConnection("localhost", 9160),
+    client = thrift.createClient(Cassandra, connection);
 
-    connection.on('error', function(err) {
-      console.error(err);
-    });
+connection.on('error', function(err) {
+  console.error(err);
+});
 
-    client.get_slice("Keyspace", "key", new ttypes.ColumnParent({column_family: "ExampleCF"}), new ttypes.SlicePredicate({slice_range: new ttypes.SliceRange({start: '', finish: ''})}), ttypes.ConsistencyLevel.ONE, function(err, data) {
-      if (err) {
-        // handle err
-      } else {
-        // data == [ttypes.ColumnOrSuperColumn, ...]
-      }
-      connection.end();
-    });
+client.get_slice("Keyspace", "key", new ttypes.ColumnParent({column_family: "ExampleCF"}), new ttypes.SlicePredicate({slice_range: new ttypes.SliceRange({start: '', finish: ''})}), ttypes.ConsistencyLevel.ONE, function(err, data) {
+  if (err) {
+    // handle err
+  } else {
+    // data == [ttypes.ColumnOrSuperColumn, ...]
+  }
+  connection.end();
+});
+```
 
 <a name="int64"></a>
 ## Int64
