The US singer also confirmed they are called Sir Carter and Rumi – which had been rumoured after she and husband Jay-Z filed a trademark for the names.
The picture showed the 35-year-old mother-of-three and the twins draped in a purple floral sheet, while she wore a blue veil.
It clocked up more than two million likes on Instagram in an hour.
Beyonce wrote: “Sir Carter and Rumi 1 month today”, with a string of emojis of prayer hands and a woman, man, little girl and two babies.
As well as the twins, a boy and a girl, Beyonce and rapper Jay-Z are also parents to five-year-old daughter, Blue Ivy.
The style of the image, in which Beyonce stands in a garden barefoot in front of a floral archway, echoes the photoshoot she used to announce her pregnancy on the network. That post, in February, became the most-liked in the history of Instagram.
The world had been eagerly awaiting the first glimpse of the babies ever since American media reported the Lemonade singer had given birth last month.
But neither she nor Jay-Z had confirmed any details of the twins until now.
Her father Mathew Knowles had tweeted on 18 June, saying: “They’re here!” and “Happy birthday to the twins” – but the timing of Beyonce’s post suggest they were actually born on 14 June.
It’s no surprise that fans were quick to share their thoughts on the picture.
BBC Radio 1 DJ Clara Amfo wrote on Twitter: “Soooo extra and I LOVE it.”
But dad Lee Simpson reacted to the picture by tweeting: “Our 1st photo was in Jessops with me in the background eating a packet of quavers.”