Computing the winners of an election is an important subtask in voting and preference aggregation. The declarative nature of answer-set programming (ASP) and the performance of state-of-the-art solvers render ASP very well-suited to tackle this problem. In this work we present a novel, reduction-based approach for a variety of voting rules, ranging from tractable cases to problems harder than NP. In addition, we discuss how encodings of voting rules can be optimized and combined in our approach. The encoded voting rules are put together in the extensible tool DEMOCRATIX, which handles the computation of the winners and is also available as a web application.To learn more about the capabilities and limits of the approach, the encodings are evaluated thoroughly on real-world data as well as on random instances.