diff --git a/crates/templates/src/res/components/field.html b/crates/templates/src/res/components/field.html
index 6298256f1..e840715c5 100644
--- a/crates/templates/src/res/components/field.html
+++ b/crates/templates/src/res/components/field.html
@@ -14,7 +14,7 @@
limitations under the License.
#}
-{% macro input(label, name, type="text", form_state=false, autocomplete=false, class="", inputmode="text") %}
+{% macro input(label, name, type="text", form_state=false, autocomplete=false, class="", inputmode="text", autocorrect=false, autocapitalize=false) %}
{% if not form_state %}
{% set form_state = dict(errors=[], fields=dict()) %}
{% endif %}
@@ -37,6 +37,8 @@
inputmode="{{ inputmode }}"
{% if autocomplete %} autocomplete="{{ autocomplete }}" {% endif %}
{% if state.value %} value="{{ state.value }}" {% endif %}
+ {% if autocorrect %} autocorrect="{{ autocorrect }}" {% endif %}
+ {% if autocapitalize %} autocapitalize="{{ autocapitalize }}" {% endif %}
/>
{% if state.errors is not empty %}
diff --git a/crates/templates/src/res/pages/login.html b/crates/templates/src/res/pages/login.html
index 04a00be81..f5f624670 100644
--- a/crates/templates/src/res/pages/login.html
+++ b/crates/templates/src/res/pages/login.html
@@ -32,7 +32,7 @@
Sign in
{% endif %}
- {{ field::input(label="Username", name="username", form_state=form, autocomplete="username") }}
+ {{ field::input(label="Username", name="username", form_state=form, autocomplete="username", autocorrect="off", autocapitalize="none") }}
{{ field::input(label="Password", name="password", type="password", form_state=form, autocomplete="password") }}
{% if next and next.kind == "continue_authorization_grant" %}
diff --git a/crates/templates/src/res/pages/register.html b/crates/templates/src/res/pages/register.html
index f4c4d0f3a..9569ba31d 100644
--- a/crates/templates/src/res/pages/register.html
+++ b/crates/templates/src/res/pages/register.html
@@ -32,7 +32,7 @@
Create an account
{% endif %}
- {{ field::input(label="Username", name="username", form_state=form, autocomplete="username") }}
+ {{ field::input(label="Username", name="username", form_state=form, autocomplete="username", autocorrect="off", autocapitalize="none") }}
{{ field::input(label="Email", name="email", type="email", form_state=form, autocomplete="email") }}
{{ field::input(label="Password", name="password", type="password", form_state=form, autocomplete="new-password") }}
{{ field::input(label="Confirm Password", name="password_confirm", type="password", form_state=form, autocomplete="new-password") }}