diff --git a/koa-bodyparser/koa-bodyparser-tests.ts b/koa-bodyparser/koa-bodyparser-tests.ts
new file mode 100644
index 000000000..12b5932e9
--- /dev/null
+++ b/koa-bodyparser/koa-bodyparser-tests.ts
@@ -0,0 +1,11 @@
+///
+///
+
+import * as Koa from "koa";
+import bodyParser = require("koa-bodyparser");
+
+const app = new Koa();
+
+app.use(bodyParser({ strict: false }));
+
+app.listen(80)
\ No newline at end of file
diff --git a/koa-bodyparser/koa-bodyparser.d.ts b/koa-bodyparser/koa-bodyparser.d.ts
new file mode 100644
index 000000000..416883219
--- /dev/null
+++ b/koa-bodyparser/koa-bodyparser.d.ts
@@ -0,0 +1,64 @@
+// Type definitions for koa-bodyparser v3.x
+// Project: https://github.com/koajs/bodyparser
+// Definitions by: Jerry Chin
+// Definitions: https://github.com/hellopao/DefinitelyTyped
+
+/* =================== USAGE ===================
+
+ import bodyParser = require("koa-bodyparser");
+ var Koa = require('koa');
+
+ var app = new Koa();
+ app.use(bodyParser());
+
+ =============================================== */
+
+///
+
+declare module "koa-bodyparser" {
+
+ import * as Koa from "koa";
+
+ function bodyParser(opts?: {
+ /**
+ * requested encoding. Default is utf-8 by co-body
+ */
+ encode?: string;
+
+ /**
+ * limit of the urlencoded body. If the body ends up being larger than this limit
+ * a 413 error code is returned. Default is 56kb
+ */
+ formLimit?: string;
+
+ /**
+ * limit of the json body. Default is 1mb
+ */
+ jsonLimit?: string;
+
+ /**
+ * when set to true, JSON parser will only accept arrays and objects. Default is true
+ */
+ strict?: boolean;
+
+ /**
+ * custom json request detect function. Default is null
+ */
+ detectJSON?: (ctx: Koa.Context) => boolean;
+
+ /**
+ * support extend types
+ */
+ extendTypes?: {
+ json?: string[];
+ form?: string[];
+ }
+
+ /**
+ * support custom error handle
+ */
+ onerror?: (err: Error, ctx: Koa.Context) => void;
+ }): { (ctx: Koa.Context, next?: () => any): any };
+
+ export = bodyParser;
+}