Menu Photography in Johannesburg: One Consistent Shoot for Print, QR Menus and Delivery Apps
A Johannesburg menu usually lives in three places at once: a printed card, a QR menu, and tiles on Uber Eats or Mr D. Shooting each dish once, properly, and naming the files so you can find them again is what keeps those three surfaces looking like the same restaurant. This guide covers a seasonal shooting schedule built around Johannesburg light, a batch workflow for a full menu, and how to keep photos in sync when dishes change.
Plan the shoot around Johannesburg daylight
Johannesburg sits at about 26°S, so the sun tracks through the northern sky. That changes what a window gives you month by month, and it is the single biggest scheduling variable for a restaurant shooting food without lights.
Around the December solstice you get roughly 13 h 39 min of daylight and the noon sun stands about 87 degrees above the horizon, almost directly overhead. Midday light is harsh and short-shadowed, so shoot in the early morning or late afternoon and use a window that faces away from the sun. Around the June solstice, daylight drops to about 10 h 21 min and the noon sun sits only about 40 degrees up, so low winter sun streams deep into rooms for hours. A window that is soft and shaded in December can be full of direct sun in June.
- December (summer): shoot 07:00 to 09:00 or after 16:00; midday sun is near vertical and unkind to glossy sauces
- June (winter): the low sun reaches far into the room, so use a shaded window or a diffuser sheet and shoot between 10:00 and 14:00
- Equinox months (March, September): light is closest to neutral; good window for a full-menu batch
- Test the actual window with one plate before committing a whole day to it
Batch shooting a full menu
Book one or two days and shoot the entire menu in a fixed order: starters, mains, sides, desserts, drinks. Keep the camera on a tripod at the same height and distance for every plate, and mark the spot on the table with tape so each dish lands in the same place. A 45-degree angle suits most plates; go to a straight overhead shot for bowls, pizzas and shared platters where the topping layout is the selling point.
Shoot tethered to a laptop if you can, so you see focus and exposure on a large screen while the plate is still fresh. For each dish, capture one clean hero frame and one tighter frame for small tiles. If a dish is served in more than one portion size, shoot the larger one and note it. Keep a paper shot list on the table and tick items off; the cost of a batch day is re-shooting a forgotten dish later.
- Same tripod height, same table spot, same background surface for every plate
- One hero frame plus one tight frame per dish
- Note portion size, garnishes and any swap (rice or chips) on the shot list
- Shoot drinks last so condensation does not sit on the table for hours
Naming files so the menu and the photos stay linked
Name every file with the menu section, the dish as it appears on your menu, and a version number, for example mains-grilled-chicken-half-01.jpg. Use the same wording the customer sees, whether your menu is written in English, Afrikaans or Zulu, so a kitchen staff member can match file to dish without translating. Avoid spaces and special characters; hyphens are safest across Mac, Windows and upload tools.
Keep one master folder per menu revision, dated, and never overwrite an old file. When a dish changes, add a new version rather than editing the old one, so you can tell which photo went with which printed menu. A simple spreadsheet with columns for dish name, file name, date shot and where it is published prevents the classic problem of a delivery tile showing a dish you stopped serving two menus ago.
One photo, three surfaces: print, QR menu, delivery
A printed menu needs a sharp image at print resolution, a QR menu needs a small file that loads fast on a phone, and a delivery app needs a square tile. Crop from one master rather than shooting three times. Keep the dish centered and leave breathing room at the edges so a square crop does not cut off the plate rim.
For delivery apps, check the upload screen for the size and shape it currently asks for. The Uber Eats photo specs page on this site covers the current guidance for South Africa; Mr D does not publish pixel specs here, so confirm on the upload screen before you export. If a platform ever tells you it does not accept AI-generated images, shoot and upload your own real photo there and use edited images only on your own channels.
Keeping photos in sync with menu changes
Set a monthly review: pull your live delivery menu, your QR menu and the printed card side by side, and check every photo against the current dish. Seasonal specials, price changes that come with a new plate presentation, and discontinued items are the usual culprits. When a dish is removed, archive its photo rather than deleting it; it may return.
For a fast-changing menu, shoot new dishes in small batches on the same table spot with the same settings, so a photo taken in March sits next to one from November without looking out of place. Consistency across time matters as much as consistency within one shoot.
Working with what you already have
Most Johannesburg kitchens already have a phone full of dish photos taken for social media. Those can be the starting point for a menu shoot: pick the frames that show the dish accurately, then reshoot anything blurry, badly lit or plated differently from how it is served now. If you want help with light, background and crop while keeping the food exactly as it is, FoodPhoto takes a real photo of your own dish and returns it as a kit of sizes for menus, delivery apps and social. It cannot guarantee approval by any platform, so always check each app's current requirements yourself.
Checklist before you publish
- Pick your shooting month using the daylight notes above and test the window with one plate
- Write a shot list in menu order and tick each dish off as it is photographed
- Tape the plate position and lock the tripod height for the whole batch
- Capture one hero and one tight frame per dish
- Name files section-dish-version with hyphens and no spaces
- Keep a dated master folder and a spreadsheet linking dish, file and where it is published
- Check the Uber Eats and Mr D upload screens for current size requirements before exporting
- Review print, QR and delivery menus against photos once a month
Questions
What is the best time of day to photograph food in Johannesburg?
It depends on the season. In summer, when the noon sun is almost overhead, shoot early morning or late afternoon and avoid direct sun on the plate. In winter the sun stays low and reaches deep into rooms, so use a shaded window or a diffuser and shoot around the middle of the day.
How many photos should I take of each dish for a menu?
Two frames per dish is usually enough: one wider hero shot showing the full plate and one tighter frame that still reads clearly as a small square tile on a delivery app. Extra angles are only worth it for dishes where the top matters, such as pizzas or shared platters.
How do I keep delivery app photos matching my printed menu?
Work from one master file per dish and crop it for each surface, then keep a spreadsheet listing the dish, the file name and every place it is published. Review the delivery menu, QR menu and printed card against the photos once a month so removed or changed dishes do not linger.
Do delivery apps in South Africa have fixed photo size requirements I can rely on?
Some publish guidance and some do not. The Uber Eats photo specs page on this site covers South Africa; for Mr D, check the upload screen for the size and shape it currently asks for, since requirements can change.