To romanticize is
to deal with or describe in an idealized or unrealistic fashion; to make (something) seem better or more appealing than it really is
I am looking for a word that describes a similar exaggeration, but in the opposite direction: to make something seem worse or less appealing than it really is.
I would not accept words like "understate" or "downplay". Though they do work as antonyms for "romanticize", they denote a lack of exaggeration, rather than exaggeration in a negative direction.
The word "vilify" is close to what I am looking for (perhaps a bit too malicious), but its usage feels restricted to persons. I would prefer a word that can be applied to both animate and inanimate concepts, as in "romanticize the past".
"Slander" is also close to what I mean, but it is a purely dynamic verb and suggests an action. I would prefer a word with a usage that leans stative, like "romanticize". You can "romanticize the past" solely within your own head, but if you "slander the past" it suggests talking or writing about it.
Some example sentences might be:
He _____ the city as a filthy, over-crowded and dangerous place.
After the bitter breakup, she retroactively _____ the relationship with her ex.
While Arthurian myth typically romanticizes the Middle Ages, Monty Python's Holy Grail _____ the period instead.
Apologies in advance to all the British English users who would prefer "romanticise" throughout this post