diff --git a/modules/encoders/string/binary/binary.pp b/modules/encoders/string/binary/binary.pp
new file mode 100644
index 000000000..e69de29bb
diff --git a/modules/encoders/string/binary/manifests/.no_puppet b/modules/encoders/string/binary/manifests/.no_puppet
new file mode 100644
index 000000000..e69de29bb
diff --git a/modules/encoders/string/binary/secgen_local/local.rb b/modules/encoders/string/binary/secgen_local/local.rb
new file mode 100644
index 000000000..0c8ab89c5
--- /dev/null
+++ b/modules/encoders/string/binary/secgen_local/local.rb
@@ -0,0 +1,15 @@
+#!/usr/bin/ruby
+require 'base64'
+require_relative '../../../../../lib/objects/local_string_encoder.rb'
+class BinaryEncoder < StringEncoder
+ def initialize
+ super
+ self.module_name = 'Binary Encoder'
+ end
+
+ def encode(str)
+ str.unpack('B*').first
+ end
+end
+
+BinaryEncoder.new.run
diff --git a/modules/encoders/string/binary/secgen_metadata.xml b/modules/encoders/string/binary/secgen_metadata.xml
new file mode 100644
index 000000000..68f43712f
--- /dev/null
+++ b/modules/encoders/string/binary/secgen_metadata.xml
@@ -0,0 +1,20 @@
+
+
+
+ Binary Encoder
+ Thomas Shaw
+ MIT
+ Converts a String to Binary.
+
+ ascii_reversable
+ binary_encoder
+ string_encoder
+ linux
+ windows
+
+ strings_to_encode
+
+ encoded_strings
+
\ No newline at end of file
diff --git a/scenarios/examples/parameterised_examples/encoder_examples/binary_encoder.xml b/scenarios/examples/parameterised_examples/encoder_examples/binary_encoder.xml
new file mode 100644
index 000000000..8ef800370
--- /dev/null
+++ b/scenarios/examples/parameterised_examples/encoder_examples/binary_encoder.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ example_server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+