diff --git a/jbinary/jbinary-tests.ts b/jbinary/jbinary-tests.ts
new file mode 100644
index 0000000000..c1e286fce4
--- /dev/null
+++ b/jbinary/jbinary-tests.ts
@@ -0,0 +1,16 @@
+///
+
+var originalData = [0x05, 0x03, 0x7F, 0x1E];
+var b1 = new jBinary(originalData);
+console.log(b1.readAll());
+console.log(b1.read('int8'));
+
+b1.seek(4);
+console.log(b1.read('int8'));
+
+console.log(b1.tell());
+
+b1.write('int8', 0x9A, 2);
+b1.writeAll(originalData);
+
+console.log(b1.slice(0, 2));
diff --git a/jbinary/jbinary.d.ts b/jbinary/jbinary.d.ts
new file mode 100644
index 0000000000..f9a2f2aaa9
--- /dev/null
+++ b/jbinary/jbinary.d.ts
@@ -0,0 +1,32 @@
+// Type definitions for jBinary
+// Project: https://github.com/jDataView/jBinary
+// Definitions by: Tim Bureck
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+// Additional notes:
+// Method stubs and types are taken from the official jBinary documentation, which can be found here:
+// https://github.com/jDataView/jBinary/wiki/jBinary-Constructor
+// https://github.com/jDataView/jBinary/wiki/jBinary-Methods
+
+///
+
+declare class jBinary
+{
+
+ constructor(data:Array);
+ constructor(data:jDataView, typeSet:Object);
+ constructor(bufferSize:number, typeSet:Object);
+
+ read(type:string, offset?:number):any;
+ readAll():any;
+
+ write(type:string, data:any, offset?:number):number;
+ writeAll(data:any):number;
+
+ tell():number;
+ seek(position:number, callback?: (prop:jBinary, data:any) => any):number;
+ skip(count:number, callback?: (prop:jBinary, data:any) => any):number;
+
+ slice(start:number, end:number, forceCopy?:boolean):jBinary;
+ as(typeSet:Object, modifyOriginal?:boolean):jBinary;
+}
\ No newline at end of file