Citizens from most EU countries living in the UK will not get a vote in the referendum on Europe, No 10 has said.
The eligibility rules will be broadly the same as for a general election, rather than local or European votes.
Irish citizens in the UK are eligible. Residents from two other EU nations, Malta and Cyprus, also qualify, along with others from the Commonwealth.
The SNP's Humza Yousaf said excluding other EU citizens risked entering "into the rhetoric of division".
He urged the government to rethink eligibility rules.
David Cameron is to hold talks with the European Commission President Jean-Claude Juncker at Chequers later.
'Get to decide'
Legislation for the voting eligibility of the referendum - which the Conservatives have promised to hold before the end of 2017 - will be introduced to Parliament via the EU Referendum Bill on Thursday.
The Bill will make clear that the franchise will follow broadly the same rules as the general election:
- British, Irish and Commonwealth citizens over 18 who are resident in the UK will be eligible to vote.
- So too will UK nationals who have lived overseas for less than 15 years.
- The franchise will not include 16 and 17-year-olds, unlike the Scottish independence referendum.
- Members of the House of Lords and Commonwealth citizens in Gibraltar will also be allowed to vote, although they cannot participate in general elections.
- In total, around 45.3 million people will be able to take part.
A Number 10 source said: "No Brit under the age of 58 has had their say on the UK's membership of the European Union.
"It is time to put this right and to give people the choice - in or out.
"This is a big decision for our country, one that is about the future of the United Kingdom. That's why we think it's important that it is British, Irish and Commonwealth citizens that are the ones who get to decide."
Eurosceptics have previously claimed that as many as 1.5 million people from other EU countries could have been allowed to vote in the referendum, if it had taken place under the rules for local government elections.
By BBC political correspondent Chris Mason
I'm sure you've got better ideas of how to spend a bank holiday Monday than me.
But I wouldn't mind being that bluebottle on the wall at Chequers tonight, assuming the government's fly-swatters aren't up to much.
Less than a year ago, the prime minister was doing his best to make sure Jean Claude Juncker didn't get the gig as President of the European Commission.
Well, you win some, you lose some. And David Cameron lost that one. Because they call him President Juncker now.
So, Mr Cameron has invited the president around for tea at his country retreat, Chequers. I'm told the prime minister will be "open, practical and friendly" in his approach.
Later in the week, David Cameron will visit Denmark, the Netherlands, France, Poland and Germany. And the talking is only just beginning.
Former Tory defence secretary Liam Fox, a Eurosceptic, said allowing EU citizens to vote in the referendum "would have been an unacceptable dilution of the voice of the British people".
UKIP leader Nigel Farage said the plans were "sensible and reasonable".
However, the SNP's Mr Yousaf, the party's Europe minister in the Scottish parliament, urged the government to reconsider.
He told BBC News: "Excluding EU citizens, many of whom live here for a number of years, pay their taxes, their children attend local schools, to disenfranchise them over their own future in this vote is illogical, is utterly perverse and creates a democratic deficit."
He added: "We don't want to enter into the rhetoric of division and I think that's exactly what this franchise aims to do."
The party's Westminster leader Angus Robertson also called for the voting age to be lowered for the referendum.
He said: "Young people are our future. It is their UK - and their Europe - so they must have their say."
Labour's shadow foreign secretary Hilary Benn agreed.
"It's a matter of principle," he said. "If a person aged 16 to 17 is old enough to work and pay taxes - and they are - to marry, to join the armed forces, why should they not be allowed to participate in our democracy?"
In 2014, the Conservatives promised to remove the 15-year cap on expats voting in general elections if they were returned to power.
Party chairman Grant Shapps said at the time: "Being a British citizen is for life... we believe it should also give you the lifelong right to vote."
But Conservative backbencher John Redwood told the Today programme it would be "wrong to hijack" the referendum to extend the vote to groups not previously included in the franchise.
And he said it was "a myth put around by the pro-Europeans" that 16 and 17-year-olds were interested in the issue of Europe.
The Chief Minister of Gibraltar, Fabian Picardo, welcomed his citizens' opportunity to make their voices heard in a "seminal exercise in democracy".
This week, Mr Cameron will take a whistle-stop European tour, meeting the leaders of Denmark, the Netherlands, France, Poland and Germany to talk about the UK's agenda for reform.
No 10 said he hoped to talk to the other leaders of EU member states individually before the European Council at the end of next month.
But UKIP MP Douglas Carswell said the prime minister's promised renegotiation would be "more or less worthless".
He added: "We now know he's not seeking treaty change and none of the new deal that he is looking for will apply specifically to Britain... none of it is going to fundamentally change our relationship with Europe."