﻿<?xml version="1.0" encoding="utf-8"?>
<InstanceReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>2.2.0.7</Version>
  <hasSegments>false</hasSegments>
  <ReportName>Basis of presentation</ReportName>
  <ReportLongName>0203 - Disclosure - Basis of presentation</ReportLongName>
  <DisplayLabelColumn>true</DisplayLabelColumn>
  <ShowElementNames>false</ShowElementNames>
  <RoundingOption />
  <HasEmbeddedReports>false</HasEmbeddedReports>
  <Columns>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>1</Id>
      <Labels>
        <Label Id="1" Label="9 Months Ended" />
        <Label Id="2" Label="Sep. 30, 2010" />
      </Labels>
      <CurrencyCode>USD</CurrencyCode>
      <FootnoteIndexer />
      <hasSegments>false</hasSegments>
      <hasScenarios>false</hasScenarios>
      <Segments />
      <Scenarios />
      <Units>
        <Unit>
          <UnitID>USD</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>USDEPS</UnitID>
          <UnitType>Divide</UnitType>
          <NumeratorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </NumeratorMeasure>
          <DenominatorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </DenominatorMeasure>
          <Scale>0</Scale>
        </Unit>
      </Units>
      <CurrencySymbol>$</CurrencySymbol>
    </Column>
  </Columns>
  <Rows>
    <Row>
      <Id>2</Id>
      <Label>Basis of presentation [Abstract]</Label>
      <Level>0</Level>
      <ElementName>vale_BasisOfPresentationAbstract</ElementName>
      <ElementPrefix>vale</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ShortDefinition>Basis of presentation.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole />
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDataType>xbrli:stringItemType</ElementDataType>
      <SimpleDataType>string</SimpleDataType>
      <ElementDefenition>Basis of presentation.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>3</Id>
      <Label>Basis of presentation</Label>
      <Level>1</Level>
      <ElementName>vale_BasisOfPresentationTextBlock</ElementName>
      <ElementPrefix>vale</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ShortDefinition>Basis of Presentation [Text Block].</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole>verboselabel</PreferredLabelRole>
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText>&lt;!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" --&gt;
   &lt;!-- Begin Block Tagged Note 3 - vale:BasisOfPresentationTextBlock--&gt;
   &lt;div align="left" style="font-family: Helvetica,Arial,sans-serif"&gt;
   &lt;div style="margin-top: 6pt"&gt;
   &lt;table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; text-align: left"&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&lt;b&gt;3&lt;/b&gt;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&lt;b&gt;Basis of presentation&lt;/b&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;/table&gt;
   &lt;/div&gt;
   &lt;div style="margin-top: 6pt"&gt;
   &lt;table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; text-align: left"&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;Our condensed consolidated financial statements for the three-month periods ended September
   30, 2010, June&amp;#160;30, 2010 and September&amp;#160;30, 2009 and for the nine-month periods ended September
   30, 2010 and 2009, prepared in accordance with accounting principles generally accepted in the
   United States of America (&amp;#8220;US GAAP&amp;#8221;), are unaudited. However, in our opinion, such condensed
   consolidated financial statements includes all adjustments, consisting only of normal recurring
   adjustments, necessary for a fair statement of the results for periods. The results of
   operations for the three-month and nine-month periods ended September&amp;#160;30, 2010, are not
   necessarily indicative of the actual results expected for the full fiscal year ending December
   31, 2010.&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td style="font-size: 6pt"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;This condensed consolidated financial statements should be read in conjunction with our audited
   consolidated financial
   statements as of and for the year ended December&amp;#160;31, 2009, prepared in accordance with US GAAP.&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td style="font-size: 6pt"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;In preparing the unaudited condensed consolidated financial statements, we are required to use
   estimates to account for certain assets, liabilities, revenues and expenses. Our condensed
   consolidated financial statements therefore include various estimates concerning the selection
   of useful lives of property, plant and equipment, impairment, provisions necessary for
   contingent liabilities, fair values assigned to assets acquired and liabilities assumed in
   business combinations, income tax uncertainties, employee post-retirement benefits and other
   similar evaluations. Actual results may vary from our estimates.&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td style="font-size: 6pt"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;Since December&amp;#160;2007, significant modifications have been made to the accounting practices
   adopted in Brazil (&amp;#8220;Brazilian GAAP&amp;#8221;) as part of a convergence project with International
   Financial Reporting Standards (IFRS)&amp;#160;as issued by the  International Accounting Standards
   Board (IASB). The convergence project is expected to be completed by the end of 2010 and therefore our
   annual consolidated financial statements for 2010 prepared under Brazilian GAAP will be IFRS
   compliant. The Company does not expect to discontinue the US GAAP reporting during 2010.&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td style="font-size: 6pt"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;The Brazilian real is the parent Company&amp;#8217;s functional currency. We have selected the US dollar
   as our reporting currency.&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td style="font-size: 6pt"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;All assets and liabilities have been translated to US dollars at the closing exchange rate at
   each balance sheet date (or, if unavailable, the first available exchange rate). All statement
   of income accounts have been translated to US dollars at the average exchange rates prevailing
   during the respective periods. Capital accounts are recorded at historical exchange rates.
   Translation gains and losses are recorded in the Cumulative Translation Adjustments account
   (&amp;#8220;CTA&amp;#8221;) in stockholders&amp;#8217; equity.&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td style="font-size: 6pt"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;The results of operations and financial position of our entities that have a functional currency
   other than the US dollar, have been translated into US dollars and adjustments to translate
   those statements into US dollars are recorded in the CTA in stockholders&amp;#8217; equity.&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td style="font-size: 6pt"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;The exchange rates used to translate the assets and liabilities of the Brazilian operations at
   September&amp;#160;30, 2010 and December&amp;#160;31, 2009, were R$1.6942 and R$1.7412, respectively.&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td style="font-size: 6pt"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
       &lt;td width="1%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;The Company has assessed subsequent events through to October&amp;#160;27, 2010 which is the date the
   unaudited condensed consolidated financial statements was issued.&lt;/td&gt;
   &lt;/tr&gt;
   &lt;/table&gt;
   &lt;/div&gt;
   &lt;/div&gt;
</NonNumbericText>
          <NonNumericTextHeader>&lt;!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" --&gt;
   &lt;!-- Begin Block Tagged Note</NonNumericTextHeader>
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDataType>us-types:textBlockItemType</ElementDataType>
      <SimpleDataType>textblock</SimpleDataType>
      <ElementDefenition>Basis of Presentation [Text Block].</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
  </Rows>
  <Footnotes />
  <NumberOfCols>1</NumberOfCols>
  <NumberOfRows>2</NumberOfRows>
  <HasScenarios>false</HasScenarios>
  <MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel>
  <SharesRoundingLevel>UnKnown</SharesRoundingLevel>
  <PerShareRoundingLevel>UnKnown</PerShareRoundingLevel>
  <HasPureData>false</HasPureData>
  <SharesShouldBeRounded>true</SharesShouldBeRounded>
</InstanceReport>
