diff --git a/mo/web/jinja.py b/mo/web/jinja.py
index 59c744f19a92619545a76d29fb25d10af96c189d..503283165a419441381f12753fa4137640c72ae4 100644
--- a/mo/web/jinja.py
+++ b/mo/web/jinja.py
@@ -13,6 +13,7 @@ import mo.util_format as util_format
 from mo.web import app
 from mo.web.org_contest import contest_breadcrumbs
 from mo.web.org_place import place_breadcrumbs
+from mo.web.util import user_html_flags
 
 # Konfigurace Jinjy
 
@@ -100,3 +101,7 @@ def json_pretty(js: Any) -> str:
 @app.template_global()
 def log_url(typ: str, id: int) -> str:
     return url_for('org_log', typ=typ, id=id)
+
+@app.template_filter()
+def user_flags(u: db.User) -> Markup:
+    return user_html_flags(u)
diff --git a/mo/web/util.py b/mo/web/util.py
index 4f10a68d52fc20246453ea9ddf7b88a9f8a88ba5..11e5541e8a10d4afd064b5c1f51c9c75264914ba 100644
--- a/mo/web/util.py
+++ b/mo/web/util.py
@@ -9,6 +9,7 @@ import werkzeug.exceptions
 import werkzeug.utils
 import wtforms
 from wtforms.fields.html5 import DecimalField
+from markupsafe import Markup
 
 import mo.db as db
 import mo.jobs
@@ -145,3 +146,13 @@ class MODecimalField(DecimalField):
                 d /= 10
 
         return super(MODecimalField, self)._value()
+
+def user_html_flags(u: db.User) -> Markup:
+    r = []
+    if u.is_test:
+        r.append("<span class='user-test' title='Testovací uživatel'>*</span>")
+    if u.is_inactive():
+        r.append("<span class='user-inactive' title='Účet dosud nebyl aktivován'>*</span>")
+    if len(r) == 0:
+        return Markup("")
+    return Markup(" " + "".join(r))
diff --git a/static/mo.css b/static/mo.css
index 2de94b237bc204eea24c2b1fa0dd34d39cc92880..0c84556d7224231d37440f115a792883c442eb42 100644
--- a/static/mo.css
+++ b/static/mo.css
@@ -256,6 +256,9 @@ table.data tbody tr.job-failed:hover {
 
 /* Users */
 
+.user-test {
+	color: green;
+}
 .user-inactive {
 	color: red;
 }