Let X be a Riemann surface. Two coverings p 1 : X→Y 1 and p 2 : X→Y 2 are said to be equivalent if p 2= ϕp 1 for some conformal homeomorphism ϕ : Y 1→Y 2 . In this paper we determine, for each integer g⩾2, the maximum number ρ R( g) of inequivalent ramified coverings between compact Riemann surfaces X→ Y of degree 2, where X has genus g. Moreover, for infinitely many values of g, we compute the maximum number ρ U( g) of inequivalent unramified coverings X→ Y of degree 2 where X has genus g and admits no ramified covering. For the remaining values of g, the computation of ρ U( g) relies on a likely conjecture on the number of conjugacy classes of 2-groups. We also extend these results to double coverings X→ Y, where Y is now a proper Klein surface. In the language of algebraic geometry, this means we calculate the number of real forms admitted by the complex algebraic curve X.