Mark Anderson was 17 when he sexually abused his first victim, then a girl of just six, in Wallyford, East Lothian, in 1999, going on to attempt to rape her when she was about 12 and actually raping her when she was 13.
Described by a judge as "manipulative, violent and controlling", he went on in adult life to rape two separate women at addresses in Haymarket and Portobello, Edinburgh, in 2016 and 2017.
One of the adult women was raped by Anderson three times - including once while she was asleep - and the other victim twice.
Edinburgh news: Emergency services called to street in Capital after bin lorry hits block of flats
Edinburgh weather: Here is when the storm is set to hit the Capital and the Lothians today
St James Quarter: Video shows leaking in Edinburgh's new shopping centre as a storm set to hit the Capital
A71 crash: Edinburgh commuters face delays after ‘serious’ two-vehicle crash at Dalmahoy Junction
East Lothian crime news: Woman taken to hospital after serious assault in Musselburgh
Anderson, now 39, of Port Seton, East Lothian, appeared for sentence by video link at the High Court in Stirling.
He was found guilty by a jury in Glasgow in June of six rapes, one attempted rape, and of using lewd and libidinous behaviour towards the child on various occasions over a six year period dating back to 1999.
He pleaded not guilty.
Solicitor-advocate Sandra Walker, defending, said: "He continues to deny all the offences and as such I am not in a position to address the court in mitigation in relation to the offences themselves."
Imposing the 12 year jail term, plus a four-year extension during which he can be recalled to prison if he re-offends, trial judge Lord Armstrong said Anderson's crimes had caused "significant, lasting detrimental effects" to his victims.
He said victim impact statements had revealed they had suffered "devastating, ongoing, long-term negative consequences – physically, emotionally and psychologically".
Lord Armstrong said: "These crimes are disturbing and grave.
"They were directed against three women at different times.
"I consider you continue to present a risk to the public by reason of your manipulative, violent and controlling behaviour."
In addition to the jail term, Anderson was placed on the Sex Offenders' Register indefinitely.
Under the terms of the indefinite order, Anderson will be monitored for life by specially trained police officers and criminal justice social workers. He will be the subject of multi-agency public protection arrangements including regular visits by officers to his home.
Detective Inspector Kevin Hughes, the senior investigating officer in the case, said: “Mark Anderson is a dangerous man who carried out rapes and sexual assaults over a number of years and will now face the consequences of his actions in jail.
“I want to commend the victims of his attacks for being brave enough to come forward and I hope that his sentencing brings them some kind of closure.
“I also want to acknowledge the work done by detectives and criminal justice partners to bring Anderson to justice.
“We always take reports of sexual crime seriously and deal with them in a professional and sensitive manner while providing support for those involved.
“I would urge anyone who wants to report a sexual crime, no matter the length of time that has passed, to get in touch with us.”