﻿<?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="6 Months Ended" />
        <Label Id="2" Label="Jun. 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 align="left" style="font-size: 10pt; margin-top: 12pt"&gt;&lt;b&gt;3 Basis of presentation&lt;/b&gt;
   &lt;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt; margin-left: 2%"&gt;Our condensed consolidated interim financial information for the three-month periods ended
   June&amp;#160;30, 2010, March&amp;#160;31, 2010 and June&amp;#160;30, 2009 and for the six-month periods ended June&amp;#160;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 interim financial information includes all adjustments, consisting only of normal
   recurring adjustments, necessary for a fair statement of the results for interim periods. The
   results of operations for the three-month and six-month periods ended June&amp;#160;30, 2010, are not
   necessarily indicative of the actual results expected for the full fiscal year ending December
   31, 2010.
   &lt;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt; margin-left: 2%"&gt;This condensed consolidated interim financial information 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;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt; margin-left: 2%"&gt;In preparing the condensed consolidated financial information, 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 and liabilities acquired and assumed in business
   combinations, income tax uncertainties, employee post-retirement benefits and other similar
   evaluations. Actual results may vary from our estimates.
   &lt;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt; margin-left: 2%"&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). 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;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt; margin-left: 2%"&gt;The Brazilian real is the parent Company&amp;#8217;s functional currency. We have selected the US dollar
   as our reporting currency.
   &lt;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt; margin-left: 2%"&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;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt; margin-left: 2%"&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;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt; margin-left: 2%"&gt;The exchange rates used to translate the assets and liabilities of the Brazilian operations at
   June&amp;#160;30, 2010 and December&amp;#160;31, 2009, were R$1.8015 and R$1.7412, respectively.
   &lt;/div&gt;
   &lt;div align="left" style="font-size: 10pt; margin-top: 6pt; margin-left: 2%"&gt;The Company has assessed subsequent events through July&amp;#160;29, 2010 which is the date the financial
   statements were issued.
   &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>
