diff --git a/calendar_utils/parser.py b/calendar_utils/parser.py
index 7782d47e8a9ec23945fe16bdbd33afa9f55eece3..c7c453c44e95f5790fdfb8ef0fc44b901e884a1b 100644
--- a/calendar_utils/parser.py
+++ b/calendar_utils/parser.py
@@ -2,6 +2,7 @@ import re
 from operator import attrgetter
 
 import arrow
+import bleach
 from django.conf import settings
 from ics import Calendar
 
@@ -32,6 +33,13 @@ def split_events(events):
     return past, future
 
 
+def set_event_description(event):
+    """Clears even description from unwanted tags."""
+    description: str = event.get("description", "") or ""
+    event["description"] = bleach.clean(description, tags=["a", "br"], strip=True)
+    return event
+
+
 def set_event_duration(event):
     """Sets duration for event."""
     if event["all_day"]:
@@ -50,10 +58,17 @@ def set_event_duration(event):
     return event
 
 
+def process_event(event):
+    """Processes single event for use in Majak"""
+    event = set_event_duration(event)
+    event = set_event_description(event)
+    return event
+
+
 def process_ical(source):
     """Parses iCalendar source and returns events as list of dicts. Returns
     tuple of past and future events.
     """
     events = parse_ical(source)
-    events = list(map(set_event_duration, events))
+    events = list(map(process_event, events))
     return split_events(events)