diff --git a/src/NadekoBot/Modules/Administration/Commands/LocalizationCommands.cs b/src/NadekoBot/Modules/Administration/Commands/LocalizationCommands.cs
index bc4a0952..707d2af4 100644
--- a/src/NadekoBot/Modules/Administration/Commands/LocalizationCommands.cs
+++ b/src/NadekoBot/Modules/Administration/Commands/LocalizationCommands.cs
@@ -24,11 +24,11 @@ namespace NadekoBot.Modules.Administration
                 {"nl-NL", "Dutch, Netherlands"},
                 {"en-US", "English, United States"},
                 {"fr-FR", "Français, France"},
-                {"de-DE", "German, Germany"},
+                {"de-DE", "Deutsch, Deutschland"},
                 {"he-IL", "Hebrew, Israel" },
                 {"it-IT", "Italiano, Italia" },
                 //{"ja-JP", "Japanese, Japan"},
-                {"ko-KR", "Korean, South Korea" },
+                {"ko-KR", "한국어, 대한민국" },
                 {"nb-NO", "Norwegian (bokmål), Norway"},
                 {"pl-PL", "Polski, Polska" },
                 {"pt-BR", "Português Brasileiro, Brasil"},
diff --git a/src/NadekoBot/Modules/Administration/Commands/UserPunishCommands.cs b/src/NadekoBot/Modules/Administration/Commands/UserPunishCommands.cs
index 0f54037f..53479589 100644
--- a/src/NadekoBot/Modules/Administration/Commands/UserPunishCommands.cs
+++ b/src/NadekoBot/Modules/Administration/Commands/UserPunishCommands.cs
@@ -290,6 +290,51 @@ namespace NadekoBot.Modules.Administration
                     .ConfigureAwait(false);
             }
 
+            [NadekoCommand, Usage, Description, Aliases]
+            [RequireContext(ContextType.Guild)]
+            [RequireUserPermission(GuildPermission.BanMembers)]
+            [RequireBotPermission(GuildPermission.BanMembers)]
+            public async Task Unban([Remainder]string user)
+            {
+                var bans = await Context.Guild.GetBansAsync();
+
+                var bun = bans.FirstOrDefault(x => x.User.ToString().ToLowerInvariant() == user.ToLowerInvariant());
+
+                if (bun == null)
+                {
+                    await ReplyErrorLocalized("user_not_found").ConfigureAwait(false);
+                    return;
+                }
+
+                await UnbanInternal(bun.User).ConfigureAwait(false);
+            }
+
+            [NadekoCommand, Usage, Description, Aliases]
+            [RequireContext(ContextType.Guild)]
+            [RequireUserPermission(GuildPermission.BanMembers)]
+            [RequireBotPermission(GuildPermission.BanMembers)]
+            public async Task Unban(ulong userId)
+            {
+                var bans = await Context.Guild.GetBansAsync();
+
+                var bun = bans.FirstOrDefault(x => x.User.Id == userId);
+
+                if (bun == null)
+                {
+                    await ReplyErrorLocalized("user_not_found").ConfigureAwait(false);
+                    return;
+                }
+
+                await UnbanInternal(bun.User).ConfigureAwait(false);
+            }
+
+            private async Task UnbanInternal(IUser user)
+            {
+                await Context.Guild.RemoveBanAsync(user).ConfigureAwait(false);
+
+                await ReplyConfirmLocalized("unbanned_user", Format.Bold(user.ToString())).ConfigureAwait(false);
+            }
+
             [NadekoCommand, Usage, Description, Aliases]
             [RequireContext(ContextType.Guild)]
             [RequireUserPermission(GuildPermission.KickMembers)]
diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs
index bba6abe1..61163a92 100644
--- a/src/NadekoBot/Resources/CommandStrings.Designer.cs
+++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs
@@ -8456,6 +8456,33 @@ namespace NadekoBot.Resources {
             }
         }
         
+        /// 
+        ///    Looks up a localized string similar to unban.
+        /// 
+        public static string unban_cmd {
+            get {
+                return ResourceManager.GetString("unban_cmd", resourceCulture);
+            }
+        }
+        
+        /// 
+        ///    Looks up a localized string similar to Unbans a user with the provided user#discrim or id..
+        /// 
+        public static string unban_desc {
+            get {
+                return ResourceManager.GetString("unban_desc", resourceCulture);
+            }
+        }
+        
+        /// 
+        ///    Looks up a localized string similar to `{0}unban kwoth#1234` or `{0}unban 123123123`.
+        /// 
+        public static string unban_usage {
+            get {
+                return ResourceManager.GetString("unban_usage", resourceCulture);
+            }
+        }
+        
         /// 
         ///    Looks up a localized string similar to unclaim ucall uc.
         /// 
diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx
index 1f236f0a..db8b3f50 100644
--- a/src/NadekoBot/Resources/CommandStrings.resx
+++ b/src/NadekoBot/Resources/CommandStrings.resx
@@ -3240,6 +3240,15 @@
   
     `{0}warn @b1nzy`
   
+  
+    unban
+  
+  
+    Unbans a user with the provided user#discrim or id.
+  
+  
+    `{0}unban kwoth#1234` or `{0}unban 123123123`
+  
   
     warnclear warnc
   
diff --git a/src/NadekoBot/Resources/ResponseStrings.Designer.cs b/src/NadekoBot/Resources/ResponseStrings.Designer.cs
index b440fe8a..a8e6ed17 100644
--- a/src/NadekoBot/Resources/ResponseStrings.Designer.cs
+++ b/src/NadekoBot/Resources/ResponseStrings.Designer.cs
@@ -1504,6 +1504,15 @@ namespace NadekoBot.Resources {
             }
         }
         
+        /// 
+        ///    Looks up a localized string similar to User {0} has been unbanned..
+        /// 
+        public static string administration_unbanned_user {
+            get {
+                return ResourceManager.GetString("administration_unbanned_user", resourceCulture);
+            }
+        }
+        
         /// 
         ///    Looks up a localized string similar to Undeafen successful..
         /// 
@@ -1585,6 +1594,15 @@ namespace NadekoBot.Resources {
             }
         }
         
+        /// 
+        ///    Looks up a localized string similar to User not found..
+        /// 
+        public static string administration_user_not_found {
+            get {
+                return ResourceManager.GetString("administration_user_not_found", resourceCulture);
+            }
+        }
+        
         /// 
         ///    Looks up a localized string similar to User's role added.
         /// 
diff --git a/src/NadekoBot/Resources/ResponseStrings.resx b/src/NadekoBot/Resources/ResponseStrings.resx
index f8523242..9ef50957 100644
--- a/src/NadekoBot/Resources/ResponseStrings.resx
+++ b/src/NadekoBot/Resources/ResponseStrings.resx
@@ -2287,6 +2287,12 @@ Owner ID: {2}
   
     Reason
   
+  
+    User {0} has been unbanned.
+  
+  
+    User not found.
+  
   
     User {0} has been warned.