<imageExpression><![CDATA[new ByteArrayInputStream(org.apache.commons.codec.binary.Base64.decodeBase64($F{logo}.getBytes()))]]></imageExpression> and yes, the image should be just content without preceding meta info: (as the previous commentator pointed out)