<?xml version="1.0" encoding="us-ascii"?><InstanceReport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Version>2.4.0.8</Version><ReportLongName>109 - Disclosure - Earnings (loss) Per Share</ReportLongName><DisplayLabelColumn>true</DisplayLabelColumn><ShowElementNames>false</ShowElementNames><RoundingOption /><HasEmbeddedReports>false</HasEmbeddedReports><Columns><Column FlagID="0"><Id>1</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><CurrencyCode /><FootnoteIndexer /><hasSegments>false</hasSegments><hasScenarios>false</hasScenarios><MCU><KeyName /><CurrencySymbol /><contextRef><ContextID>P01_01_2013To06_30_2013</ContextID><EntitySchema>http://www.sec.gov/CIK</EntitySchema><EntityValue>0001000683</EntityValue><PeriodDisplayName /><PeriodType>duration</PeriodType><PeriodStartDate>2013-01-01T00:00:00</PeriodStartDate><PeriodEndDate>2013-06-30T00:00:00</PeriodEndDate><Segments /><Scenarios /></contextRef><UPS /><CurrencyCode /><OriginalCurrencyCode /></MCU><CurrencySymbol /><Labels><Label Key="CalendarSupplement" Id="0" Label="6 Months Ended" /><Label Key="Calendar" Id="1" Label="Jun. 30, 2013" /></Labels></Column></Columns><Rows><Row FlagID="0"><Id>1</Id><IsAbstractGroupTitle>true</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>1</Level><ElementName>us-gaap_EarningsPerShareAbstract</ElementName><ElementPrefix>us-gaap_</ElementPrefix><IsBaseElement>true</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="" UnitID=""><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText /><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>xbrli:stringItemType</ElementDataType><SimpleDataType>string</SimpleDataType><IsTotalLabel>false</IsTotalLabel><UnitID>0</UnitID><Label>Earnings Per Share [Abstract]</Label></Row><Row FlagID="0"><Id>2</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>2</Level><ElementName>us-gaap_EarningsPerShareTextBlock</ElementName><ElementPrefix>us-gaap_</ElementPrefix><IsBaseElement>true</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><PreferredLabelRole>verboseLabel</PreferredLabelRole><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="P01_01_2013To06_30_2013" UnitID=""><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText>              &lt;div style="clear:both; FONT-FAMILY:Times New Roman;FONT-SIZE: 10pt;MARGIN: 0pt 0px; FONT: 10pt Times New Roman, Times, Serif "&gt;  &lt;div style="clear:both; FONT-FAMILY:Times New Roman;FONT-SIZE: 10pt;MARGIN: 0pt 0px; FONT: 10pt Times New Roman, Times, Serif"&gt;  &lt;b&gt;Note 4- Earnings (loss) Per Share&lt;/b&gt;&lt;/div&gt;    &lt;div style="clear:both; FONT-FAMILY:Times New Roman;FONT-SIZE: 10pt;TEXT-INDENT: 0.5in; MARGIN: 0pt 0px; FONT: 10pt Times New Roman, Times, Serif"   align="justify"&gt;&amp;#160;&lt;/div&gt;    &lt;div style="clear:both; FONT-FAMILY:Times New Roman;FONT-SIZE: 10pt;TEXT-INDENT: 0.5in; MARGIN: 0pt 0px; FONT: 10pt Times New Roman, Times, Serif"   align="justify"&gt;Earnings (loss) per share is calculated in  accordance with ASC Topic 260 &amp;#8220;Earnings Per Share,&amp;#8221;  which provides for the calculation of &amp;#8220;basic&amp;#8221; and  &amp;#8220;diluted&amp;#8221; earnings (loss) per share. Basic earnings  (loss) per share includes no dilution and is computed by dividing  net earnings by the weighted average number of common shares  outstanding for the period.&amp;#160; Diluted earnings (loss) per share  reflect, in periods in which they have a dilutive effect, the  effect of common shares issuable upon exercise of stock options.  The diluted share base excludes incremental shares of &lt;font style=" FONT-SIZE: 10pt"&gt;1,022&lt;/font&gt; and &lt;font style=" FONT-SIZE: 10pt"&gt;  1,458&lt;/font&gt; related to stock options for the three and six month  periods ended June 30, 2013, respectively, and &lt;font style=" FONT-SIZE: 10pt"&gt;&lt;font style=" FONT-SIZE: 10pt"&gt;  1,151&lt;/font&gt;&lt;/font&gt; shares related to stock options for both the  three and six month periods ended June 30, 2012. These shares were  excluded due to their antidilutive effect.&lt;/div&gt;  &lt;/div&gt;        </NonNumbericText><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>nonnum:textBlockItemType</ElementDataType><SimpleDataType>na</SimpleDataType><ElementDefenition>The entire disclosure for earnings per share.</ElementDefenition><ElementReferences>Reference 1: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 260

 -SubTopic 10

 -Section 50

 -Paragraph 1

 -Subparagraph (a)

 -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257



Reference 2: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 260

 -SubTopic 10

 -Section 45

 -Paragraph 3

 -URI http://asc.fasb.org/extlink&amp;oid=7655603&amp;loc=d3e1278-109256



Reference 3: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 260

 -SubTopic 10

 -Section 45

 -Paragraph 2

 -URI http://asc.fasb.org/extlink&amp;oid=7655603&amp;loc=d3e1252-109256



Reference 4: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 260

 -SubTopic 10

 -Section 55

 -Paragraph 52

 -URI http://asc.fasb.org/extlink&amp;oid=32703322&amp;loc=d3e4984-109258



Reference 5: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 225

 -SubTopic 10

 -Section S99

 -Paragraph 2

 -Subparagraph (SX 210.5-03.21)

 -URI http://asc.fasb.org/extlink&amp;oid=26872669&amp;loc=d3e20235-122688



</ElementReferences><IsTotalLabel>false</IsTotalLabel><UnitID>0</UnitID><Label>Earnings Per Share [Text Block]</Label></Row></Rows><Footnotes /><IsEquityReport>false</IsEquityReport><ReportName>Earnings (loss) Per Share</ReportName><MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel><SharesRoundingLevel>UnKnown</SharesRoundingLevel><PerShareRoundingLevel>UnKnown</PerShareRoundingLevel><ExchangeRateRoundingLevel>UnKnown</ExchangeRateRoundingLevel><HasCustomUnits>true</HasCustomUnits><IsEmbedReport>false</IsEmbedReport><IsMultiCurrency>false</IsMultiCurrency><ReportType>Sheet</ReportType><RoleURI>http://www.blondertongue.com/role/EarningsLossPerShare</RoleURI><NumberOfCols>1</NumberOfCols><NumberOfRows>2</NumberOfRows></InstanceReport>
