diff --git a/crop.cpp b/crop.cpp
index 411e6ed3e0d9772755cc4b4e9cb74df61b7fa81b..a6e3cda6dd725de1d47f3deee467bb93457407d0 100644
--- a/crop.cpp
+++ b/crop.cpp
@@ -17,6 +17,7 @@ enum class Options
 	Color,
 	Source,
 	Format,
+	Separator,
 	Invalid
 };
 using Option = support::MappedEnum<Options, Options::Invalid, 2>;
@@ -26,6 +27,7 @@ template <> Option::Guts::map_type Option::Guts::map
 	{ "-c"s, "--color"s },
 	{ "-i"s, "--source"s },
 	{ "-f"s, "--format"s },
+	{ "-s"s, "--separator"s },
 }};
 
 enum class Formats
@@ -117,6 +119,7 @@ void crop(const string& filename, const string& range, Color color, size_t paddi
 void process_arguments(std::deque<string> args)
 {
 	string filename;
+	string separator;
 	Color color;
 	Format format;
 	size_t padding = 0;
@@ -141,6 +144,11 @@ void process_arguments(std::deque<string> args)
 				filename = args.at(0);
 			break;
 
+			case Options::Separator:
+				args.pop_front();
+				separator = args.at(0) + '\n';
+			break;
+
 			case Options::Format:
 				args.pop_front();
 				format = Format(args.at(0));
@@ -148,7 +156,7 @@ void process_arguments(std::deque<string> args)
 
 			default:
 				crop(filename, args.front(), color, padding, format);
-				std::cout << '\n';
+				std::cout << '\n' << separator;
 			break;
 
 		}