diff --git a/src/components/icon/README.md b/src/components/icon/README.md
new file mode 100644
index 000000000000..355a8db009b7
--- /dev/null
+++ b/src/components/icon/README.md
@@ -0,0 +1,116 @@
+# md-icon
+
+`md-icon` is a component that displays an icon, which can be a font glyph or an SVG image.
+
+## MdIconRegistry
+
+`MdIconRegistry` is an injectable service that allows you to associate icon names with SVG URLs and define aliases for CSS font classes. Its methods are discussed below and listed in the API summary.
+
+## Font icons
+
+### Ligatures
+
+Some fonts are designed to show icons by using [ligatures](https://en.wikipedia.org/wiki/Typographic_ligature), for example by rendering the text "home" as a home image. To use a ligature icon, put its text in the content of the `md-icon` component, for example:
+```html
+home
+```
+
+By default the [Material icons font](http://google.github.io/material-design-icons/#icon-font-for-the-web) is used. (You will still need to include the HTML to load the font and its CSS, as described in the link). You can specify a different font by setting the `fontSet` input to either the CSS class to apply to use the desired font, or to an alias previously registered with `MdIconRegistry.registerFontClassAlias`, for example:
+```javascript
+mdIconRegistry.registerFontClassAlias('myfont', 'my-icon-font-class');
+```
+
+```html
+help
+```
+
+### Font icons via CSS
+
+Fonts can also display icons by defining a CSS class for each icon glyph, which typically uses a :before selector to cause the icon to appear. [FontAwesome](https://fortawesome.github.io/Font-Awesome/examples/) uses this approach to display its icons. To use such a font, set the `fontSet` input to the font's CSS class (either the class itself or an alias registered with `MdIconRegistry.registerFontClassAlias`), and set the `fontIcon` input to the class for the specific icon to show. Example:
+
+```html
+
+```
+
+For both types of font icons, you can specify the default font class to use when `fontSet` is not explicitly set by calling `MdIconRegistry.setDefaultFontSetClass`.
+
+## SVG icons
+
+When an `md-icon` component displays an SVG icon, it does so by directly inlining the SVG content into the page as a child of the component. (Rather than using an tag or a div background image). This makes it easier to apply CSS styles to SVG icons. For example, the default color of the SVG content is the CSS [currentColor](http://www.quirksmode.org/css/color/currentcolor.html) value. This makes SVG icons by default have the same color as surrounding text, and allows you to change the color by setting the "color" style on the `md-icon` element.
+
+### Icons from URLs
+
+SVG icons can be used either by directly specifying the icon's URL, or by associating an icon name with a URL and then referring to the name. To use a URL directly, set the `svgSrc` input:
+```html
+
+```
+
+### Named icons
+
+To associate a name with an icon URL, use the `addSvgIcon` or `addSvgIconInNamespace` methods of `MdIconRegistry`. After registering an icon, it can be displayed by setting the `svgIcon` input. For an icon in the default namespace, use the name directly. For a non-default namespace, use the format `[namespace]:[name]`. Examples:
+```javascript
+mdIconRegistry.addSvgIcon('moon', '/assets/moon.svg');
+mdIconRegistry.addSvgIconInNamespace('animals', 'cat', '/assets/cat.svg');
+```
+
+```html
+
+
+```
+
+### Icon sets
+
+Icon sets allow grouping multiple icons into a single SVG file. The content of an icon set file looks like this, where each nested `