diff --git a/spec/compiler/macro/macro_expander_spec.cr b/spec/compiler/macro/macro_expander_spec.cr
index e9fbe9e1fcba17d2d509ada788cde2b91867d55d..2a0fd9d07937393b39a2752fbcf0f25e5201be49 100644
--- a/spec/compiler/macro/macro_expander_spec.cr
+++ b/spec/compiler/macro/macro_expander_spec.cr
@@ -278,6 +278,10 @@ describe "MacroExpander" do
     it "executes string [Range] exclusive" do
       assert_macro "", %({{"hello"[1...-2]}}), [] of ASTNode, %("el")
     end
+
+    it "executes string chomp" do
+      assert_macro "", %({{"hello\n".chomp}}), [] of ASTNode, %("hello")
+    end
   end
 
   describe "array methods" do
diff --git a/src/compiler/crystal/macros.cr b/src/compiler/crystal/macros.cr
index 5b35678038a04d15bddbf251b1f976c046eeb7b9..357a21e097fa9940ffcbc473b81195e965bb6527 100644
--- a/src/compiler/crystal/macros.cr
+++ b/src/compiler/crystal/macros.cr
@@ -729,6 +729,8 @@ module Crystal
         end
       when "capitalize"
         interpret_argless_method(method, args) { StringLiteral.new(@value.capitalize) }
+      when "chomp"
+        interpret_argless_method(method, args) { StringLiteral.new(@value.chomp) }
       when "downcase"
         interpret_argless_method(method, args) { StringLiteral.new(@value.downcase) }
       when "empty?"