diff --git a/README.md b/README.md
index 06a1291c7..378451392 100644
--- a/README.md
+++ b/README.md
@@ -57,6 +57,7 @@ Syntax highlighting available for [Atom](https://atom.io/) by installing the [la
- [attrs](#attrs)
- [body-only-if](#body-only-if)
- [Comments](#comments)
+ - [Whitespace](#whitespace)
- [Helpers](#helpers)
- [Custom Tags and Attributes](#custom-tags-and-attributes)
- [Async Taglib](#async-taglib)
@@ -1068,6 +1069,76 @@ Output:
Hello
```
+## Whitespace
+
+The Marko compiler will remove unnecessary whitespace based on some builtin rules, by default. These rules are partially based on the rules that browser's use to normalize whitespace and partially based on the goal of allowing nicely indented markup with minified output. These rules are as follows:
+
+- For text before the first child element: `text.replace(/^\n\s*/g, '')`
+- For text after the last child element: `text.replace(/\n\s*$/g, '')`
+- For text between child elements: `text.replace(/^\n\s*$/g, '')`
+- Any contiguous sequence of whitespace characters is collapsed into a single space character
+
+In addition, whitespace within the following tags is preserved by default:
+
+- ``
+- `