diff --git a/Changelog.md b/Changelog.md
index 387d602cb1b50b565711d52fd8d74e3577014293..ef74f278ac9a1aa841671f346e43c2595de09cdb 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -6,6 +6,7 @@
 * Don't focus comment form on 'show n more comments' [#4265](https://github.com/diaspora/diaspora/issues/4265)
 
 ## Features
+* Admin: add option to find users under 13 (COPPA) [#4252](https://github.com/diaspora/diaspora/pull/4252)
 
 # 0.1.1.0
 
diff --git a/app/controllers/admins_controller.rb b/app/controllers/admins_controller.rb
index 7c56bbbc858231ce9139fe794f304835231f7619..593b31ddd2e1c56075a35a42cd8887d544a314c4 100644
--- a/app/controllers/admins_controller.rb
+++ b/app/controllers/admins_controller.rb
@@ -5,14 +5,16 @@ class AdminsController < ApplicationController
   def user_search
     params[:user] ||= {}
     params[:user].delete_if {|key, value| value.blank? }
-    @users = params[:user].empty? ? [] : User.where(params[:user])
+    @users = User.joins(person: :profile).where(["profiles.birthday > ?", Date.today - 13.years]) if params[:under13]
+    @users = (@users || User).where(params[:user]) if params[:user].present?
+    @users ||= []
   end
 
-  def admin_inviter 
+  def admin_inviter
     inviter = InvitationCode.default_inviter_or(current_user)
     email = params[:identifier]
     user = User.find_by_email(email)
-    
+
     unless user
       EmailInviter.new(email, inviter).send!
       flash[:notice] = "invitation sent to #{email}"
@@ -30,14 +32,14 @@ class AdminsController < ApplicationController
   def weekly_user_stats
     @created_users = User.where("username IS NOT NULL and created_at IS NOT NULL")
     @created_users_by_week =  Hash.new{ |h,k| h[k] = [] }
-    @created_users.find_each do |u| 
+    @created_users.find_each do |u|
       unless u.nil?
           @created_users_by_week[u.created_at.beginning_of_week.strftime("%Y-%m-%d")].push("#{u.username}")
         end
       end
 
     unless(params[:week]).nil?
-      # @segment = "#{@created_users_by_week[(params[:week])]}" 
+      # @segment = "#{@created_users_by_week[(params[:week])]}"
       @counter = "#{@created_users_by_week[(params[:week])].count}"
     else
       @counter = ""
diff --git a/app/views/admins/user_search.html.haml b/app/views/admins/user_search.html.haml
index a667cf7bbef3f1938d3b5ba57c047078b3f770e3..c5329f7718d611ec01538f12def2516eb1b5db38 100644
--- a/app/views/admins/user_search.html.haml
+++ b/app/views/admins/user_search.html.haml
@@ -22,6 +22,9 @@
     = t('email')
     = text_field_tag 'user[email]', params[:user][:email]
 
+    = t('.under_13')
+    = check_box_tag 'under13', params[:under13]
+
     = submit_tag t('admins.stats.go')
 
 
@@ -38,7 +41,7 @@
         = user.person.profile.inspect
       %br
     = "invite token: #{invite_code_url(user.invited_by.invite_code)}" if user.invited_by.present?
-    = link_to "add_invites", add_invites_path(user.invitation_code)
+    = link_to t(".add_invites"), add_invites_path(user.invitation_code)
     %br
     %br
     %br
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index 1efd46ebf17db2cf4ce3849ea9f308f8ebc2843f..98f874670a20ab4b1a761ebde2d28d5a09c5e5c8 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -96,6 +96,7 @@ en:
       you_currently: "you currently have %{user_invitation} invites left %{link}"
       add_invites: "add invites"
       email_to: "Email to Invite"
+      under_13: "Show users that are under 13 (COPPA)"
       users:
         zero: "%{count} users found"
         one: "%{count} user found"
diff --git a/spec/controllers/admins_controller_spec.rb b/spec/controllers/admins_controller_spec.rb
index bf8526ef628f5650456cb09e1bcc96b52a50c610..7c824ce6d15d599e77c28efe697c51438fa0cd9e 100644
--- a/spec/controllers/admins_controller_spec.rb
+++ b/spec/controllers/admins_controller_spec.rb
@@ -34,29 +34,44 @@ describe AdminsController do
         assigns[:users].should == []
       end
 
-      it 'should search on username' do
+      it 'searches on username' do
         get :user_search, :user => {:username => @user.username}
         assigns[:users].should == [@user]
       end
 
-      it 'should search on email' do
+      it 'searches on email' do
         get :user_search, :user => {:email => @user.email}
         assigns[:users].should == [@user]
       end
 
-      it 'should search on invitation_identifier' do
+      it 'searches on invitation_identifier' do
         @user.invitation_identifier = "La@foo.com"
         @user.save!
         get :user_search, :user => {:invitation_identifier => @user.invitation_identifier}
         assigns[:users].should == [@user]
       end
 
-      it 'should search on invitation_token' do
+      it 'searches on invitation_token' do
         @user.invitation_token = "akjsdhflhasdf"
         @user.save
         get :user_search, :user => {:invitation_token => @user.invitation_token}
         assigns[:users].should == [@user]
       end
+
+      it 'searches on age < 13 (COPPA)' do
+        u_13 = FactoryGirl.create(:user)
+        u_13.profile.birthday = 10.years.ago.to_date
+        u_13.profile.save!
+
+        o_13 = FactoryGirl.create(:user)
+        o_13.profile.birthday = 20.years.ago.to_date
+        o_13.profile.save!
+
+        get :user_search, under13: true
+
+        assigns[:users].should include(u_13)
+        assigns[:users].should_not include(o_13)
+      end
     end
   end