diff --git a/bin/export-orgs b/bin/export-orgs
new file mode 100755
index 0000000000000000000000000000000000000000..2c5f1511d68b54692a8c232eb879f7055355687f
--- /dev/null
+++ b/bin/export-orgs
@@ -0,0 +1,50 @@
+#!/usr/bin/env python3
+# Přehled všech organizátorských účtů
+
+from dataclasses import dataclass
+from sqlalchemy.orm import joinedload
+import sys
+
+import mo.csv
+import mo.db as db
+
+sess = db.get_session()
+
+orgs = (sess.query(db.User)
+        .filter_by(is_org=True)
+        .options(joinedload(db.User.roles).joinedload(db.UserRole.place))
+        .all())
+
+
+@dataclass
+class Row:
+    jmeno: str
+    email: str
+    last_login: str
+    role: str = ""
+    kod_souteze: str = ""
+    kod_mista: str = ""
+    misto: str = ""
+
+
+output = []
+for user in sorted(orgs, key=lambda u: u.sort_key()):
+    o = Row(
+        jmeno=user.full_name(),
+        email=user.email,
+        last_login=(user.last_login_at.strftime('%Y-%m-%d') if user.last_login_at is not None else '-'),
+    )
+
+    if user.roles:
+        for r in user.roles:
+            o.role = r.role
+            o.kod_souteze = f"{r.category or '*'}-{r.year or '*'}-{r.seq or '*'}"
+            p = r.place
+            o.kod_mista = p.get_code()
+            o.misto = p.type_name() + " " + p.name
+            output.append(o)
+    else:
+        o.role = '-'
+        output.append(o)
+
+mo.csv.write(sys.stdout, mo.csv.FileFormat.en_csv, Row, output)