The number is expected to hit 25,000 to 30,000 in the coming days, he said.
Turkey could no longer deal with the amount of people fleeing Syria's civil war, he added.
Greece says it has blocked thousands of migrants from entering "illegally" from Turkey.
Greek authorities fired tear gas to attempt to disperse the crowds.
Turkey is hosting 3.7 million Syrian refugees, as well as migrants from other countries such as Afghanistan - but had previously stopped them from leaving for Europe under an aid-linked deal with the EU.
But Mr Erdogan accused the EU of breaking promises.
"We said months ago that if it goes on like this, we will have to open the doors. They did not believe us, but we opened the doors yesterday," President Erdogan said in Istanbul on Saturday.
He said that some 18,000 refugees had "pressed on the gates and crossed" into Europe by Saturday morning. He did not provide evidence of these numbers.
"We will not close these doors in the coming period and this will continue. Why? The European Union needs to keep its promises. We don't have to take care of this many refugees, to feed them," he said.