Baby Name Poster Generator
Turn your baby’s name into a beautiful poster β add the meaning and birth details, pick a theme, and download a print-ready PNG in seconds.
β€οΈ Your Favourite Names
Live Poster Preview
The poster redraws itself as you type β name, meaning, birth line and footer, all in real time.
Four Soft Themes
Peach, Sky, Mint and Lavender gradients in the same gentle palette as the rest of the site.
Print-Ready PNG
Download a clean 620 Γ 775 PNG β lovely on nursery walls, announcement posts and gift frames.
What Is a Baby Name Poster (and What Do You Do With It)?
One page that holds your baby’s name, its meaning and their first details β here is how families use it.
More than a name β a keepsake
A baby name poster puts the three things you chose with so much care β the name, its meaning, and the day they arrived β into one beautiful page. Parents hang it in the nursery, use it as a birth announcement on social media, place it beside monthly milestone photos, and gift it at baby showers. Years later it becomes the first page of the baby book.
Make yours in four steps
Type the baby’s name. Add its meaning (every name in our generators shows one β copy it across). Write the birth line β a date, a place, or simply “Born with love”. Then pick the theme that matches the nursery and press Download. The poster is generated on your device, so nothing you type is uploaded or stored.
Printing tips
The PNG prints crisply up to about A5 / 5Γ7 inches β perfect for desk frames and nursery shelves. Use matte photo paper for the softest look, or order a canvas print online by uploading the same file. For twins, make one poster per baby with the same theme so the pair matches on the wall.
More Name Tools You’ll Love
Every tool is free and works the same simple way β pick, generate, save your favourites.
Baby Name Generator
Beautiful baby names with real meanings.
Name Combiner
Blend two names into one unique name.
Middle Name Generator
Find the perfect middle name that flows.
Wedding Hashtag Generator
Catchy hashtags from the couple’s names.
Sibling Name Generator
Names that match your first child’s name.
Couple Nickname Generator
Cute nicknames for you and your partner.
Couple Name Combiner
Merge two names into one couple name.
Love Nickname Generator
Sweet pet names for someone you love.
Baby Boy Name Generator
Strong and sweet names for baby boys.
Baby Girl Name Generator
Beautiful names for baby girls.
Gender Neutral Baby Name Generator
Modern names that suit any baby.
Twin Baby Name Generator
Matching name pairs for twins.
Frequently Asked Questions
Quick answers about the baby name poster maker.
const favs = new Set(); const $ = s => document.querySelector(s); function toast(msg){ const t=$("#toast"); t.textContent=msg; t.classList.add("show"); setTimeout(()=>t.classList.remove("show"),1600); } function copyText(txt,msg){ if(navigator.clipboard && navigator.clipboard.writeText){ navigator.clipboard.writeText(txt).then(()=>toast(msg||("Copied: "+txt))).catch(()=>toast(txt)); } else { const ta=document.createElement("textarea"); ta.value=txt; document.body.appendChild(ta); ta.select(); try{document.execCommand("copy"); toast(msg||("Copied: "+txt));}catch(e){toast(txt);} document.body.removeChild(ta); } } function renderFavs(){ $("#favCount").textContent = favs.size; const list=$("#favList"); list.innerHTML=""; if(!favs.size){ list.innerHTML='No favourites yet β tap π€ on any name card.'; return; } favs.forEach(n=>{ const it=document.createElement("span"); it.className="fav-item"; it.innerHTML = n + ' '; list.appendChild(it); }); } function cardHTML(name, sub, tags){ return '
' + '
' + (sub ? '
' : '') + (tags || ''); } document.addEventListener("click", e=>{ const c=e.target.closest("[data-copy]"); if(c){ copyText(c.getAttribute("data-copy")); return; } const f=e.target.closest("[data-fav]"); if(f){ const n=f.getAttribute("data-fav"); if(favs.has(n)){ favs.delete(n); f.classList.remove("faved"); f.textContent="π€"; } else { favs.add(n); f.classList.add("faved"); f.textContent="β€οΈ"; toast("Saved: "+n); } renderFavs(); return; } const u=e.target.closest("[data-unfav]"); if(u){ favs.delete(u.getAttribute("data-unfav")); renderFavs(); if(window.refreshResults) refreshResults(); return; } }); $("#favToggle").addEventListener("click", ()=>{ const p=$("#favPanel"); p.classList.toggle("open"); p.hidden = !p.classList.contains("open"); }); $("#copyFavs").addEventListener("click", ()=>{ if(favs.size) copyText([...favs].join(", "), "Favourites list copied!"); else toast("No favourites yet"); }); $("#clearFavs").addEventListener("click", ()=>{ favs.clear(); renderFavs(); if(window.refreshResults) refreshResults(); }); $("#dlFavs").addEventListener("click", ()=>{ if(!favs.size){ toast("No favourites yet"); return; } const blob=new Blob(["My Favourite Names\n\n"+[...favs].join("\n")],{type:"text/plain"}); const a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download="my-favourite-names.txt"; a.click(); URL.revokeObjectURL(a.href); toast("List downloaded!"); }); document.querySelectorAll(".faq-q").forEach(q=> q.addEventListener("click", ()=>{ const it=q.parentElement; it.classList.toggle("open"); const an=it.querySelector(".faq-a"); if(an) an.hidden = !it.classList.contains("open"); })); renderFavs();
const THEMES = { peach: ["#FFE3D3", "#FFD3E2", "#E3D9F7"], sky: ["#D8ECFF", "#DFF6FF", "#E4E0FF"], mint: ["#DFF7E8", "#E6F9EE", "#FFF3D6"], lavender: ["#E9E2FF", "#F3E4FF", "#FFE0EC"] }; let curTheme = "peach"; function val(id){ return (document.getElementById(id).value || "").trim(); } function draw(){ const cv = document.getElementById("poster"); if (!cv || !cv.getContext) return; const ctx = cv.getContext("2d"); if (!ctx) return; const W = cv.width, H = cv.height, th = THEMES[curTheme]; const g = ctx.createLinearGradient(0, 0, W, H); g.addColorStop(0, th[0]); g.addColorStop(0.55, th[1]); g.addColorStop(1, th[2]); ctx.clearRect(0, 0, W, H); ctx.fillStyle = g; ctx.fillRect(0, 0, W, H); ctx.fillStyle = "rgba(255,255,255,0.35)"; [[90, 110, 46], [530, 90, 30], [70, 660, 26], [545, 640, 52], [310, 60, 16]].forEach(c => { ctx.beginPath(); ctx.arc(c[0], c[1], c[2], 0, 7); ctx.fill(); }); ctx.textAlign = "center"; ctx.fillStyle = "#8d6e63"; ctx.font = "800 25px Nunito, sans-serif"; ctx.fillText("β¨ W E L C O M E β¨", W / 2, 150); const name = val("babyName") || "Baby"; ctx.fillStyle = "#3E2A4E"; let size = 96; ctx.font = "700 " + size + "px Quicksand, sans-serif"; while (ctx.measureText(name).width > W - 90 && size > 40){ size -= 6; ctx.font = "700 " + size + "px Quicksand, sans-serif"; } ctx.fillText(name, W / 2, 265); const meaning = val("babyMeaning"); if (meaning){ ctx.fillStyle = "#5d476e"; ctx.font = "italic 600 33px Nunito, sans-serif"; ctx.fillText("β" + meaning + "β", W / 2, 335); } ctx.fillStyle = "#F2789F"; ctx.fillRect(W / 2 - 45, 385, 90, 6); const date = val("babyDate"); if (date){ ctx.fillStyle = "#5d476e"; ctx.font = "700 30px Nunito, sans-serif"; ctx.fillText(date, W / 2, 465); } const parents = val("babyParents"); if (parents){ ctx.fillStyle = "#8d7ba8"; ctx.font = "600 27px Nunito, sans-serif"; ctx.fillText(parents, W / 2, 515); } ctx.fillStyle = "rgba(62,42,78,0.45)"; ctx.font = "700 20px Nunito, sans-serif"; ctx.fillText("M A D E W I T H β€", W / 2, H - 48); } ["babyName","babyMeaning","babyDate","babyParents"].forEach(id => document.getElementById(id).addEventListener("input", draw)); $("#themeChips").addEventListener("click", e => { const btn = e.target.closest("[data-th]"); if (!btn) return; document.querySelectorAll("#themeChips .chip").forEach(x => x.classList.remove("on")); btn.classList.add("on"); curTheme = btn.getAttribute("data-th"); draw(); }); $("#dlBtn").addEventListener("click", () => { const cv = document.getElementById("poster"); try { const a = document.createElement("a"); a.download = (val("babyName") || "baby").toLowerCase().replace(/ +/g, "-") + "-name-poster.png"; a.href = cv.toDataURL("image/png"); a.click(); toast("Poster downloaded!"); } catch (err) { toast("Download is not available in this preview"); } }); draw();

