When to start reading very much depends on the nature and personality of your baby, but generally speaking, the earlier, the better.
Some quiet but alert babies will be happy to be read to from birth, but three months is often suggested as a good time to begin. By then babies are starting to be more curious about the world and they can focus clearly on a page held in front of them. Choose simple, short books with high levels of colour contrast. At this age most babies will be easily bored and whilst you may want to start reciting the Gruffalo at your earliest opportunity there is no benefit if they cannot concentrate that long. For most babies, a short rhyming book or a simple series of pictures (Tana Hoban’s Black on White and White on Black, for example) will be ideal.
For babies, most of the pleasure comes from cuddling up and listening to your voice, so there is no need to be overly creative – plenty of time for that later when your toddler demands you “do the voices like Daddy does!” It can be worth considering how you read though. Your baby will learn an enormous amount about language from the way that you talk to him or her, so slow down, enunciate clearly, and speak calmly and softly. Consider too what you are using the book for; for young babies, a book is an ideal wind-down activity before a nap, so use your voice like a lullaby-machine. As they grow older, you can include more exciting books and vary the pitch and dynamics of how you read.
Even with very young babies, remember to read with them, and not just to them. Even though they can’t answer back, always talk about and around the book, not just the words on the page. Leave gaps as if for their part of the conversation and one day they may surprise you by answering!