If you’re site has the twenty eleven theme:
To show image logo instead of text.
Create a child theme
Edit header.php and change:
<h1 id="site-title"><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span></h1>
to
<h1 id="site-title"><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><img id="site-logo" src="<?php echo get_stylesheet_directory_uri(); ?>/images/site-logo.png" alt="" /></a></span></h1>
Add the code below to style.css to prevent the logo image from stretching
img#site-logo {
width: auto;
}
This assumes you placed logo.png insie the folder ‘images’ in your theme folder.
source: Logo and Site Title in Twenty Eleven