diff --git a/src/validate/html/validateWindow.ts b/src/validate/html/validateWindow.ts
index e451bcc534..88f41ff5eb 100644
--- a/src/validate/html/validateWindow.ts
+++ b/src/validate/html/validateWindow.ts
@@ -12,6 +12,7 @@ const validBindings = [
'outerHeight',
'scrollX',
'scrollY',
+ 'online'
];
export default function validateWindow(validator: Validator, node: Node, refs: Map, refCallees: Node[]) {
diff --git a/test/validator/samples/window-binding-invalid/errors.json b/test/validator/samples/window-binding-invalid/errors.json
index f2a36540ec..26d82c444b 100644
--- a/test/validator/samples/window-binding-invalid/errors.json
+++ b/test/validator/samples/window-binding-invalid/errors.json
@@ -1,5 +1,5 @@
[{
- "message": "'potato' is not a valid binding on <:Window> — valid bindings are innerWidth, innerHeight, outerWidth, outerHeight, scrollX or scrollY",
+ "message": "'potato' is not a valid binding on <:Window> — valid bindings are innerWidth, innerHeight, outerWidth, outerHeight, scrollX, scrollY or online",
"loc": {
"line": 1,
"column": 9
diff --git a/test/validator/samples/window-binding-online/errors.json b/test/validator/samples/window-binding-online/errors.json
new file mode 100644
index 0000000000..0637a088a0
--- /dev/null
+++ b/test/validator/samples/window-binding-online/errors.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/validator/samples/window-binding-online/input.html b/test/validator/samples/window-binding-online/input.html
new file mode 100644
index 0000000000..7932cc140b
--- /dev/null
+++ b/test/validator/samples/window-binding-online/input.html
@@ -0,0 +1 @@
+<:Window bind:online/>
\ No newline at end of file