Euro foreign exchange reference rates

The reference rates are usually updated around 16:00 CET on every working day, except on TARGET closing days. They are based on a regular daily concertation procedure between central banks across Europe, which normally takes place at 14:15 CET.

TARGET closing days

Euro foreign exchange reference rates: 14 October 2019

Downloads

Current reference rates

Historical reference rates

Between 16:00 CET on 28 November 2018 and 16:00 CET on 24 January 2019, some historical reference rate PDFs contained rates that were incorrect. All other formats (HTML, CSV, XML) contained the correct reference rates.

Historical reference rate PDFs for the following dates were affected: 28 May 2018, 29 May 2018, 30 May 2018, 4 June 2018, 5 June 2018, 6 June 2018, 14 June 2018, 12 November 2018, 19 November 2018, and 21 November 2018.

Time series

To import CSV files into your spreadsheet, choose a setting that uses a dot "." as decimal separator (such as UK or US format).

Related information

For developers

How to parse the data in PHP

Regular expression example


<?php
  
//This is a PHP(4/5) script example on how eurofxref-daily.xml can be parsed
  //Read eurofxref-daily.xml file in memory 
  //For this command you will need the config 
  //option allow_url_fopen=On (default)
  
$XMLContent=file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
  
//the file is updated at around 16:00 CET
            
  
foreach($XMLContent as $line){
    if(
preg_match("/currency='([[:alpha:]]+)'/",$line,$currencyCode)){
      if(
preg_match("/rate='([[:graph:]]+)'/",$line,$rate)){
        
//Output the value of 1EUR for a currency code
        
echo'1&euro;='.$rate[1].' '.$currencyCode[1].'<br/>';
        
//--------------------------------------------------
        //Here you can add your code for inserting
        //$rate[1] and $currencyCode[1] into your database
        //--------------------------------------------------
      
}
    }
  }
?>

XML parser example


<?php
  
function StartElement($parser$name$attrs) { 
    if (!empty(
$attrs['RATE'])) {
      echo 
"1&euro;=".$attrs['RATE']." ".$attrs['CURRENCY']."<br />"
    }
  }
    
$xml_parserxml_parser_create();
    
xml_set_element_handler($xml_parser"StartElement""");
    
// for the following command you will need file_get_contents (PHP >= 4.3.0) 
    // and the config option allow_url_fopen=On (default)
    
xml_parse($xml_parserfile_get_contents ("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"));
    
xml_parser_free($xml_parser);
?>

Example

SimpleXML.php


<?php
  
//This is aPHP(5)script example on how eurofxref-daily.xml can be parsed
  //Read eurofxref-daily.xml file in memory
  //For the next command you will need the config 
  //option allow_url_fopen=On (default)
  
$XML=simplexml_load_file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
  
//the file is updated at around 16:00 CET
            
  
foreach($XML->Cube->Cube->Cube as $rate){
    
//Output the value of 1EUR for a currency code
    
echo '1&euro;='.$rate["rate"].' '.$rate["currency"].'<br/>';
    
//--------------------------------------------------
    //Here you can add your code for inserting
    //$rate["rate"] and $rate["currency"] into your database
    //--------------------------------------------------
  
}
?>

Output of the code above

1€=1.1031 USD
1€=119.40 JPY
1€=1.9558 BGN
1€=25.823 CZK
1€=7.4689 DKK
1€=0.87983 GBP
1€=331.44 HUF
1€=4.2931 PLN
1€=4.7546 RON
1€=10.8523 SEK
1€=1.0983 CHF
1€=138.10 ISK
1€=10.0463 NOK
1€=7.4315 HRK
1€=70.8543 RUB
1€=6.5424 TRY
1€=1.6325 AUD
1€=4.5395 BRL
1€=1.4576 CAD
1€=7.7988 CNY
1€=8.6529 HKD
1€=15586.80 IDR
1€=3.8703 ILS
1€=78.5245 INR
1€=1307.06 KRW
1€=21.2983 MXN
1€=4.6198 MYR
1€=1.7529 NZD
1€=56.899 PHP
1€=1.5103 SGD
1€=33.529 THB
1€=16.3283 ZAR

Framework for the euro foreign exchange reference rates:

ECB introduces changes to euro foreign exchange reference rates, 7 December 2015