Nationals of the European Union (EU), the European Economic Area (EEA) and any third-country national holding a residence permit of a Schengen State do not need a visa to enter Estonia.
EU and EEA States are Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Malta, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, The Netherlands, United Kingdom and Switzerland.
Schengen area consists of 26 European countries (of which 22 are EU States): Austria, Belgium, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Italy, Latvia, Lithuania, Luxembourg, Malta, Poland, Portugal, Slovakia, Slovenia, Spain, Sweden and The Netherlands along with Iceland, Liechtenstein, Norway and Switzerland.
Although travel documents are not checked at internal Schengen borders, it is still necessary to carry a travel document (a passport or national ID card) when crossing internal Schengen borders. Competent authorities like police or immigration officials of relevant Schengen State have the right to check travel documents if needed. We draw your attention to the fact that driving licences, post, bank or tax cards are not accepted as valid travel documents or proof of identity.
In addition to the citizens from EU, EEA and Schengen area following citizens do not need a visa to enter a Schengen area (incl. Estonia) for stays of no more than 90 days in any 180-day period: HERE.