.smf{–r:#D7141A;–rd:#a80f14;–ink:#111418;–mut:#4a525a;–line:#e6e8ec;–soft:#f6f7f9;font-family:Poppins,Arial,Helvetica,sans-serif;color:var(–ink);line-height:1.6}
.smf *{box-sizing:border-box}
.smf a{text-decoration:none}
.smf .w{max-width:1180px;margin:0 auto;padding:0 20px}
.smf-hero{background:#0f1114;color:#fff;overflow:hidden}
.smf-hero .w{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;padding-top:56px;padding-bottom:56px}
.smf-kick{display:inline-block;background:rgba(215,20,26,.15);color:#ff6b6f;border:1px solid rgba(215,20,26,.45);border-radius:999px;padding:5px 14px;font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}
.smf-hero h1{font-size:46px;line-height:1.1;margin:16px 0 14px;color:#fff;font-weight:800}
.smf-hero h1 span{color:var(–r)}
.smf-hero p{color:#c9ced4;font-size:17px;margin:0 0 22px;max-width:540px}
.smf-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.smf-chip{background:#1b1e23;border:1px solid #2c3037;border-radius:12px;padding:10px 14px;min-width:120px}
.smf-chip b{display:block;font-size:20px;color:#fff}
.smf-chip small{color:#9aa1a9;font-size:12px}
.smf-btns{display:flex;flex-wrap:wrap;gap:12px}
.smf-btn{display:inline-block;background:var(–r);color:#fff!important;font-weight:700;border-radius:10px;padding:14px 22px;font-size:15px;transition:background .2s}
.smf-btn:hover{background:var(–rd)}
.smf-btn.o{background:transparent;border:2px solid #fff}
.smf-btn.o:hover{background:#fff;color:var(–ink)!important}
.smf-btn.call{background:#1565c0}
.smf-hero img{width:100%;height:auto;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.45);display:block}
.smf-sec{padding:64px 0}
.smf-sec.alt{background:var(–soft)}
.smf-h{text-align:center;max-width:720px;margin:0 auto 36px}
.smf-h h2{font-size:34px;line-height:1.2;margin:0 0 10px;font-weight:800;color:var(–ink)}
.smf-h p{color:var(–mut);margin:0;font-size:16px}
.smf-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.smf-card{background:#fff;border:1px solid var(–line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.smf-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(17,20,24,.10)}
.smf-card.pop{border:2px solid var(–r)}
.smf-card .im{background:#f1f2f4;aspect-ratio:1/1;max-width:100%;position:relative}
.smf-card .im img{width:100%;height:100%;object-fit:cover;display:block}
.smf-tag{position:absolute;top:12px;left:12px;background:var(–r);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.smf-card .bd{padding:20px;display:flex;flex-direction:column;gap:6px;flex:1}
.smf-card h3{margin:0;font-size:22px;color:var(–ink)}
.smf-card .dim{color:var(–mut);font-size:14px}
.smf-card .pr{font-size:30px;font-weight:800;color:var(–r);margin:6px 0 2px}
.smf-card .pr small{font-size:13px;color:var(–mut);font-weight:500}
.smf-card ul{margin:6px 0 14px 18px;padding:0;font-size:14px;color:var(–mut)}
.smf-card .smf-btn{margin-top:auto;text-align:center}
.smf-turn{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.smf-t{background:#fff;border:1px solid var(–line);border-radius:16px;padding:20px;text-align:center}
.smf-t .ic{font-size:28px}
.smf-t h3{margin:8px 0 4px;font-size:18px;color:var(–ink)}
.smf-t p{margin:0 0 10px;color:var(–mut);font-size:14px;min-height:44px}
.smf-t .pc{display:inline-block;background:var(–soft);border-radius:999px;padding:4px 12px;font-weight:700;font-size:14px}
.smf-t.hot .pc{background:var(–r);color:#fff}
.smf-ex{margin:22px auto 0;max-width:820px;background:#fff;border:1px dashed #cfd3d9;border-radius:14px;padding:16px 18px;font-size:14px;color:var(–mut);text-align:center}
.smf-ex b{color:var(–ink)}
.smf-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.smf-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.smf-li{background:#fff;border:1px solid var(–line);border-radius:12px;padding:14px;font-size:14.5px;display:flex;gap:10px;align-items:flex-start}
.smf-li b{display:block;color:var(–ink)}
.smf-li span{color:var(–mut);font-size:13.5px}
.smf-dot{flex:0 0 28px;height:28px;border-radius:8px;background:rgba(215,20,26,.1);color:var(–r);display:flex;align-items:center;justify-content:center;font-weight:800}
.smf-uses{display:flex;flex-wrap:wrap;gap:10px}
.smf-uses span{background:#fff;border:1px solid var(–line);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}
.smf-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.smf-step{background:#fff;border:1px solid var(–line);border-radius:16px;padding:22px;position:relative}
.smf-step:before{counter-increment:s;content:counter(s);position:absolute;top:-16px;left:20px;width:34px;height:34px;border-radius:50%;background:var(–r);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.smf-step h3{margin:8px 0 6px;font-size:17px;color:var(–ink)}
.smf-step p{margin:0;font-size:14px;color:var(–mut)}
.smf-faq{max-width:820px;margin:0 auto;display:grid;gap:10px}
.smf-faq details{background:#fff;border:1px solid var(–line);border-radius:12px;padding:0 18px}
.smf-faq summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.smf-faq summary::-webkit-details-marker{display:none}
.smf-faq summary:after{content:”+”;color:var(–r);font-size:22px;line-height:1}
.smf-faq details[open] summary:after{content:”\2212″}
.smf-faq details p{margin:0 0 16px;color:var(–mut);font-size:15px}
.smf-cta{background:linear-gradient(135deg,#D7141A,#8f0d11);color:#fff;border-radius:22px;padding:40px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.smf-cta h2{color:#fff;margin:0 0 6px;font-size:30px}
.smf-cta p{margin:0;color:#ffe1e2}
.smf-cta .smf-btn{background:#fff;color:var(–r)!important}
.smf-cta .smf-btn.call{background:#1565c0;color:#fff!important}
.smf-note{font-size:13px;color:var(–mut);text-align:center;margin-top:16px}
@media(max-width:960px){.smf-hero .w,.smf-split{grid-template-columns:1fr}.smf-sizes{grid-template-columns:1fr 1fr}.smf-turn,.smf-steps{grid-template-columns:1fr 1fr}.smf-hero h1{font-size:36px}}
@media(max-width:600px){.smf-sizes,.smf-turn,.smf-steps,.smf-list{grid-template-columns:1fr}.smf-hero h1{font-size:30px}.smf-h h2{font-size:26px}.smf-sec{padding:44px 0}.smf-cta{padding:26px}.smf-step{margin-top:10px}}
Selfie & social media frames
Custom selfie frames that get your event posted
Your logo, hashtag and social handles printed on a full-colour, Instagram-style frame. Ideal for weddings, launches, parties and brand activations. Same-day turnaround available.
R650A2 · 420 x 594 mm
R950A1 · 594 x 841 mm
R1,450A0 · 841 x 1189 mm
Pick your size
Prices are per frame and exclude VAT. Economy and Standard are charged at the listed price.
A2 Selfie Frame
420 x 594 mm · handheld, ideal for tables and small groups
R650 each excl. VAT
- Full colour, your own design
- Same day available
Order A2
Most popular
A1 Selfie Frame
594 x 841 mm · suits two or three people
R950 each excl. VAT
- Full colour, your own design
- Same day available
Order A1
A0 Selfie Frame
841 x 1189 mm · ideal for large group photos and photo booths
R1,450 each excl. VAT
- Full colour, your own design
- Same day available
Order A0
Need a custom size or shape? Request a quote and we’ll reply within one business hour.
Lead times
All lead times apply to selfie frames (A2, A1 and A0). Choose your speed when you order.
📅
Economy
5 to 12 working days
Normal price
📦
Standard
3 to 5 working days
Normal price
⚡
Express
Next working day
+35%
🔥
Same day
Paid and approved artwork by 09:00, collect in Rivonia
+40%
For example: A1 selfie frame R950 Economy or Standard · R1,282.50 Express · R1,330 Same day (excl. VAT)
What goes on your frame
Supply your artwork, or let our designers lay it out for you. We email you a proof before anything is printed.
1
Logo & brand coloursPlaced front and centre on the frame
2
HashtagSo every photo is easy to track down
3
Social handlesInstagram, TikTok, Facebook, X
4
Event name & dateWeddings, birthdays, launches
5
QR codeLinks to your page or website
6
Likes, comments & iconsThe Instagram look guests enjoy
Ideal for
Any event where guests take photos and share them.
WeddingsBirthdaysMatric farewellsYear-end functionsProduct launchesBrand activationsExhibitions & exposRestaurants & barsSchool eventsBaby showersSports daysStore openings
How it works
Choose your size
Choose A2, A1 or A0, and the turnaround you need.
Send your artwork
Upload your file at checkout, or ask our designers to make it.
Approve your proof
We send you a proof. Nothing is printed until you approve it.
Collect or delivery
Collect from Shop L23, Rivonia Central, or have it delivered.
Questions
How quickly can I get a selfie frame?
Same-day collection is possible if you pay and approve your artwork by 09:00 (+40%, collect in Rivonia). Express is next working day (+35%). Standard takes 3 to 5 working days and Economy 5 to 12 working days, both at the normal price.
Can you design the frame for me?
Yes. Our designers can arrange your logo, hashtag and handles. Let us know what you need when you order or ask for a quote, and we’ll send a proof for approval.
Which size should I pick?
A2 suits one or two people and tables, A1 suits two to three people, and A0 suits groups and photo booths.
Can I get a custom size or shape?
Yes. Request a quote with your size and we’ll price it for you.
Do you deliver?
Collect from Shop L23, Rivonia Central (opposite Newscafe Rivonia), or pick delivery at checkout. The minimum online order is R1,000, so combine frames or other products to reach it.
Make your next event easy to share
Place your order online now, or send us your details for a quote.
.eplt{margin-top:8px;font-size:13px;font-weight:700;color:#D7141A}(function(){function wdAdd(n){var d=new Date();var c=0;while(c<n){d.setDate(d.getDate()+1);var w=d.getDay();if(w!==0){if(w!==6){c++;}}}return d;}function f(d){return d.toLocaleDateString("en-ZA",{weekday:"short",day:"numeric",month:"short"});}var now=new Date(),wkd=now.getDay()!==0,open=false;if(wkd){if(now.getDay()!==6){if(now.getHours()<9){open=true;}}}[].forEach.call(document.querySelectorAll(".eplt"),function(el){var n=parseInt(el.getAttribute("data-wd"),10);if(n===0){el.textContent=open?"Ready today, "+f(now):"Next: "+f(wdAdd(1))+" (approve by 09:00)";}else{el.textContent="Order today: ready by "+f(wdAdd(n));}});})();