از تاریخ تولد زید، خبر دقیقی در دست نیست. او در زمان جاهلیت به همراه مادرش به دیدار قبیله بنی معن رفت. در همان ایام، این قبیله مورد هجوم دشمن قرار گرفت و زید اسیر شد. حدود ۸ سال داشت که حکیم بن حزام او را در بازاری از نواحی مکه برای حضرت خدیجه (سلام الله علیها) خرید. حضرت خدیجه پس از ازدواج، او را به رسول خدا (صلی الله علیه وآله وسلم) هدیه کردند. حضرت محمد (صلی الله علیه وآله وسلم) زید را آزاد کردند و سپس وی را در خانه خود نگه داشتند. (بلاذری، انساب الاشراف، ج۱، ص۴۶۷) گفتهاند که پیامبر (صلی الله علیه وآله وسلم) در آن زمان ۱۰ سال از زید بزرگتر بوده است. (ابن سعد، المعارف، ج ۳، ص۴۴)
سالها بعد، زید در موسم حج عدهای از مردم قبیله خود را دید، از طریق آنان خبر سلامتش را به پدر و مادرش رساند. پدرش در فراق او اشعاری سروده است. (ابن هشام، السیره النبویه، ج۱، ص۲۴۸) پدر زید از رسول خدا درخواست کرد تا در برابر دریافت بهای زید، او را به آنان برگرداند؛ اما پیامبر (صلی الله علیه وآله وسلم) زید را میان ماندن نزد خودشان و بازگشت به سوی قبیلهاش مخیر کردند. زید ماندن نزد پیامبر (صلی الله علیه وآله وسلم) را برگزید. حارثه گفت: ای فرزند! بندگی را بر آزادگی اختیار مینمایی و پدر را مهجور میگذاری؟ زید گفت: من از آن وقتی که پیامبر را دیدهام، دیگر هرگز کسی را بر آن حضرت اختیار نخواهم کرد.
در برخی منابع تاریخی اهل سنت آمده است که حضرت محمد (صلی الله علیه وآله وسلم) چون این سخن از زید شنیدند، او را به حجر مکه آوردند و فرمودند: زید فرزند من است، از من ارث میبرد و من نیز از او ارث میبرم. از آن زمان او را زید بن محمد (ص) میخواندند تا آنکه آیات ۴ - ۶ سوره احزاب نازل شد که فرزندخوانده را به اسم پدر خودش بخوانند. از آن پس زید را زید بن محمد نخواندند. (بلاذری، انساب الاشراف، ج۱، ص۴۶۸-۴۶۹)