Restaurant Photography in Johannesburg: A Practical Guide for Delivery Apps, Menus and Social
Johannesburg's high-altitude light is strong and changes a lot between summer and winter, which makes window-light shooting both easier and trickier than in coastal cities. This guide covers what each channel needs, how to time your shoots around the sun through the year, and how to keep your real dishes looking accurate wherever they appear.
What each channel actually needs from your photos
Delivery apps, Google Business Profile, your own website and social media each crop and display images differently, so one master shot per dish is not enough. Shoot each dish vertically and horizontally, then export separate crops for a square thumbnail, a 16:9 banner for your website header and a tall portrait format for social. Keep the food centered with breathing room so a crop never cuts into the plate.
For delivery apps, the thumbnail is usually seen on a phone at small size, so the dish should fill most of the frame and the background should be plain. For Google Business Profile, wider shots that show the dish in context work better because they sit alongside photos of your interior and exterior. Printed menus in Johannesburg often need a clean cutout or a simple neutral background so the image reproduces well on uncoated paper.
FoodPhoto's spec page for Uber Eats in South Africa is at /delivery-photo-specs/uber-eats/south-africa/ if you want the upload guidance for that app. Mr D also operates in South Africa; check its merchant upload screen for current image requirements, since platforms change them without notice.
A seasonal window-light schedule for Johannesburg
Johannesburg sits at about 26 degrees south, so the sun is nearly overhead at midday in December and much lower in June. Around the December solstice you get roughly 13 hours 39 minutes of daylight and the noon sun reaches about 87 degrees above the horizon. Around the June solstice daylight drops to about 10 hours 21 minutes and the noon sun is only about 40 degrees high.
In summer, direct sun through a north-facing window is harsh and creates hard shadows on glossy sauces and grilled meat. Use the window as a soft side light in the early morning or late afternoon, or diffuse it with a white curtain or a sheet of tracing paper. Between about 10am and 3pm in December, move your table back from the glass so the light falls at a lower angle.
In winter, the low noon sun reaches deeper into the room and gives warmer, longer light. A north-facing window works well from mid-morning to early afternoon, but the low angle can create bright streaks across the table. Angle the dish slightly toward the window and use a white card on the opposite side to fill the shadow. Because winter days are shorter, plan shoots between about 9am and 2pm rather than late afternoon.
- December: shoot 7am to 9am or 4pm to 6pm, diffuse direct sun, avoid the 10am to 3pm overhead glare.
- June: shoot 9am to 2pm, use the low sun for warm side light, add a white bounce card opposite the window.
- Year-round: turn off overhead ceiling lights and mixed-color bulbs so the dish has one light direction.
- Place the camera at roughly 45 degrees above the plate for most dishes, and drop to table level for burgers and stacked plates.
Shooting dishes common on Johannesburg menus
Johannesburg menus commonly mix braai and grilled meat, stews, pap and chakalaka, Indian curries, Portuguese chicken and seafood, and a wide range of baked goods. Each needs a different approach. Grilled meat benefits from a low three-quarter angle so you see the char and the thickness of the cut, and from a slightly darker background so the browned crust stands out. Stews and curries look flat from directly above because the surface is uniform; shoot them at about 30 to 45 degrees with a spoon lifting a little of the sauce to show texture.
Pap and similar pale starches can blow out under strong light, so meter for the brightest part of the dish and check that the highlights are not clipped. Bright sauces and glossy glazes pick up reflections, so keep a black card just outside the frame on the side facing the light to cut glare. For baked goods and pastries, a 45-degree angle with the window to the side shows layers and crumb better than a top-down shot.
If your menu is written in English, Afrikaans or Zulu, keep the photo and the dish name matched exactly. A photo of the wrong portion size or garnish is a common source of customer complaints on delivery apps.
Delivery apps, Google and social: keeping one shoot consistent
Shoot every dish in the same session, on the same surface, with the same light direction. Consistency makes a menu grid look deliberate and helps customers compare dishes. Use a plain matte surface in a neutral tone, and avoid patterned tablecloths that compete with the food at thumbnail size.
For delivery apps, export a square crop with the dish filling about 80 percent of the frame. For Google Business Profile, keep a wider 16:9 version that shows the plate and a little of the table. For Instagram, export a 4:5 portrait crop for feed posts and keep a 9:16 version for stories. Name files by dish and channel so your team uploads the right version to the right place.
Check each app's upload screen before you export a batch, because platforms do not always publish exact pixel specifications and the requirements shown at upload are the reliable source. Never stretch or squash a photo to fit a slot; reshoot or recrop instead.
Where AI editing fits and where it does not
Editing should improve light, background and crop without changing what the customer will receive. Adjusting brightness, cleaning up a cluttered background and cropping to the right aspect ratio are safe. Generating a different dish, adding ingredients that are not on the plate or exaggerating portion size is not, and it can breach platform rules and consumer protection expectations.
Some platforms restrict or ban AI-generated food images. If the platform you use has such a rule, shoot and upload your own real photo directly to that platform and do not describe any image as ready for it. Keep AI-assisted editing for your own channels, such as your website menu, Instagram, Google Business Profile, QR menu and printed material.
FoodPhoto takes a real photo of your own dish and improves light, background and crop for menus, delivery apps and social, keeping the food as it is. Every photo comes as a kit of sizes covering a hero image, delivery-app sizes, Instagram formats and Google Business Profile.
Checklist before you publish
- Shoot each dish both vertically and horizontally with space around the plate for cropping.
- Schedule summer shoots for early morning or late afternoon and winter shoots for mid-morning to early afternoon.
- Diffuse direct window sun with a white curtain and bounce light back with a white card.
- Turn off ceiling lights and mixed bulbs so the dish has one light direction.
- Use a plain matte surface and the same angle for every dish in a session.
- Export square, 16:9 and 4:5 crops and name files by dish and channel.
- Check each delivery app's upload screen for current image requirements before exporting.
- Keep photos accurate to the portion and garnish you actually serve.
Questions
What is the best time of day to photograph food in Johannesburg?
In summer, shoot in the early morning or late afternoon and diffuse the strong midday sun. In winter, the low sun works well from mid-morning to early afternoon, but use a white card to fill the shadows it creates. Avoid overhead ceiling lights at any time of year.
What image sizes do delivery apps need for restaurant menus?
Many apps display dishes as square thumbnails, so export a square crop with the dish filling most of the frame. Check the upload screen of each app you use for its current requirements, because not every platform publishes exact pixel specifications. Keep wider 16:9 and 4:5 versions for your website and social media.
Can I use AI-generated photos on delivery apps?
Some platforms restrict or ban AI-generated food images, so check the rules for each app you list on. Where such a rule applies, shoot and upload a real photo of your own dish directly to that platform. Use edited images on your own channels instead.
How do I stop reflections on glossy sauces and grilled meat?
Place a black card just outside the frame on the side facing the window to absorb glare, and angle the dish slightly away from direct light. A polarizing filter on the lens can also reduce reflections, but check the result on a phone screen before you shoot the whole menu.