diff --git a/src/Microsoft.AspNet.Http.Extensions/Encoders/EncoderExtensions.cs b/src/Microsoft.AspNet.Http.Extensions/Encoders/EncoderExtensions.cs
new file mode 100644
index 0000000000..65dbc541aa
--- /dev/null
+++ b/src/Microsoft.AspNet.Http.Extensions/Encoders/EncoderExtensions.cs
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using Microsoft.AspNet.Http;
+using Microsoft.Framework.DependencyInjection;
+
+namespace Microsoft.AspNet.WebUtilities.Encoders
+{
+ ///
+ /// Contains extension methods for fetching encoders from a service provider.
+ ///
+ public static class EncoderExtensions
+ {
+ ///
+ /// Retrieves an IHtmlEncoder from a service provider.
+ ///
+ ///
+ /// This method is guaranteed never to return null.
+ /// It will return a default encoder instance if the service provider does not contain one.
+ ///
+ public static IHtmlEncoder GetHtmlEncoder([NotNull] this IServiceProvider serviceProvider)
+ {
+ return serviceProvider.GetService() ?? HtmlEncoder.Default;
+ }
+
+ ///
+ /// Retrieves an IJavaScriptStringEncoder from a service provider.
+ ///
+ ///
+ /// This method is guaranteed never to return null.
+ /// It will return a default encoder instance if the service provider does not contain one.
+ ///
+ public static IJavaScriptStringEncoder GetJavaScriptStringEncoder([NotNull] this IServiceProvider serviceProvider)
+ {
+ return serviceProvider.GetService() ?? JavaScriptStringEncoder.Default;
+ }
+
+ ///
+ /// Retrieves an IUrlEncoder from a service provider.
+ ///
+ ///
+ /// This method is guaranteed never to return null.
+ /// It will return a default encoder instance if the service provider does not contain one.
+ ///
+ public static IUrlEncoder GetUrlEncoder([NotNull] this IServiceProvider serviceProvider)
+ {
+ return serviceProvider.GetService() ?? UrlEncoder.Default;
+ }
+ }
+}