diff --git a/README.md b/README.md
index a037dd0..1ba2ef0 100644
--- a/README.md
+++ b/README.md
@@ -69,8 +69,10 @@ So, a relative date phrase is used for up to a month and then the actual date is
| Property Name | Attribute Name | Possible Values | Default Value |
|:---------------|:-----------------|:-----------------------------------------------------------------------------------------|:-----------------------|
| `datetime` | `datetime` | `string` | - |
+| `format` | `format` | `'auto'|'micro'|'elapsed'|string` | 'auto' |
| `date` | - | `Date \| null` | - |
| `tense` | `tense` | `'auto'\|'past'\|'future'` | `'auto'` |
+| `precision` | `precision` | `'year'|'month'|'day'|'hour'|'minute'|'second'` | `'second'` |
| `threshold` | `threshold` | `string` | `'P30D'` |
| `prefix` | `prefix` | `string` | `'on'` |
| `second` | `second` | `'numeric'\|'2-digit'\|undefined` | `undefined` |
@@ -100,6 +102,39 @@ This is the datetime that the element is meant to represent. This must be a vali
```
+##### format (`'auto'|'micro'|'elapsed'|string`, default: `'auto'`)
+
+The default format is `auto`, but this can be changed to `micro` or `elapsed`.
+
+The default `auto` format will display dates relative to the current time (unless they are past the `threshold` value - see below). The values are rounded to display a single unit, for example if the time between the given `datetime` and the current wall clock time exceeds a day, then the format will _only_ ouput in days, and will not display hours, minutes or seconds.
+
+The `micro` format which will display relative dates (within the threshold) in a more compact format. Similar to `auto`, the `micro` format rounds values to the nearest largest value. Additionally, `micro` format will not round _lower_ than 1 minute, as such a `datetime` which is less than a minute from the current wall clock time will display `'1m'`.
+
+The `elapsed` format will always non-rounded units of time, where any non-zero unit of time is displayed in the compact notation format. This format is also absolute, and so tense does not apply. This can be useful for displaying actively running timers.
+
+| `format=auto` | `format=micro` | `format=elapsed` |
+|:-------------:|:--------------:|:----------------:|
+| in 2 years | 2y | 2y 10d 3h 20m 8s |
+| 2 years ago | 2y | 2y 10d 3h 20m 8s |
+| in 30 days | 30d | 30d 4h 20m 8s |
+| 21 minutes ago| 21m | 21m 30s |
+| 37 seconds ago| 1m | 37s |
+
+Additionally, format accepts a [strftime](https://strftime.org/) compatible format. Providing a strftime format will override all other attributes on the element, and the time will be displayed formatted based on the strftime value. This can be useful, for example, to dynamically remove relative formatting based on a user action.
+
+```html
+
+
+ Time until:
+
+ Time until (micro format):
+
Nearby, dynamic, relative time:
Future Date
Nearby, dynamic, relative time:
Future Date
- Time until:
-
- Time until (micro format):
-