The answer is "immediately." Obviously, a one- or two-year-old is not going to comprehend the complicated facts of adoption, but he or she can start becoming partially aware of their special identity.
Parents should be authentic with their children from the very beginning because this breeds trust. From the moment that they are capable of understanding, you should begin telling your children what they can developmentally comprehend.
There is no correct language or method to use when telling your child they are adopted. You know your child best, so approach the discussion in the way that you feel is most appropriate.
One way to approach a young child is to explain, relative to their developmental level, how babies come into the world, and how your child's situation is different. For example, using whatever language comes naturally, you can explain that babies grow in a woman's pelvis, pointing out familiar adults who are pregnant as examples. Follow this explanation by saying something like, "You didn't grow in Mommy's tummy. You have a 'birth mother' and you grew inside her. She loved you very much. She couldn't take care of you herself but she wanted someone to take good care of you. Now, you are my child and I am so lucky to be your mommy."
If you are religious, you could add that God brought your child into your life as a gift. This is a way to stress how special your child is to the family.
Your child may only understand a very small fraction of what has been explained to him or her. But, as your child ages and is able to understand more detail, you will be able to expound upon information that already has a foundation. Therefore, your child's adoption is never a shock or a surprise. Instead, it is a part of your child's identity and a natural part of his or her life.
Why Waiting to Tell Your Child is Not in their Best Interest