diff --git a/app/models/snippet.rb b/app/models/snippet.rb
index 3ab9e834c638e7cf90e0ef259b6878cdfa09ec26..b0831982aa799511194ae567a68a54e47e9470ce 100644
--- a/app/models/snippet.rb
+++ b/app/models/snippet.rb
@@ -34,7 +34,6 @@ class Snippet < ActiveRecord::Base
   validates :author, presence: true
   validates :title, presence: true, length: { within: 0..255 }
   validates :file_name,
-    presence: true,
     length: { within: 0..255 },
     format: { with: Gitlab::Regex.file_name_regex,
               message: Gitlab::Regex.file_name_regex_message }
diff --git a/app/views/shared/snippets/_form.html.haml b/app/views/shared/snippets/_form.html.haml
index 2feeeecc48b1829290b0d61af7b5f2e1e697ed4f..6b136302b65e049caf63acb1f86484491c8a2337 100644
--- a/app/views/shared/snippets/_form.html.haml
+++ b/app/views/shared/snippets/_form.html.haml
@@ -18,7 +18,7 @@
         .col-sm-10
           .file-holder.snippet
             .file-title
-              = f.text_field :file_name, placeholder: "example.rb", class: 'form-control snippet-file-name', required: true
+              = f.text_field :file_name, placeholder: "Optionally name this file to add code highlighting, e.g. example.rb for Ruby.", class: 'form-control snippet-file-name'
             .file-content.code
               %pre#editor= @snippet.content
               = f.hidden_field :content, class: 'snippet-file-content'
diff --git a/spec/models/snippet_spec.rb b/spec/models/snippet_spec.rb
index c786d0bf103a6bb85cd862ca69fe5cc6be9126d3..8158183867597a418741324f8868115311a83413 100644
--- a/spec/models/snippet_spec.rb
+++ b/spec/models/snippet_spec.rb
@@ -40,7 +40,6 @@ describe Snippet do
     it { is_expected.to validate_presence_of(:title) }
     it { is_expected.to validate_length_of(:title).is_within(0..255) }
 
-    it { is_expected.to validate_presence_of(:file_name) }
     it { is_expected.to validate_length_of(:file_name).is_within(0..255) }
 
     it { is_expected.to validate_presence_of(:content) }