Grubhub Food Photography: What to Shoot and How to Crop It
Grubhub does not publish a pixel specification for menu photos, so the useful work happens before you upload: choose the right dish, light it simply, and crop for the square tile the ordering app shows. This page covers what Grubhub actually checks, a shooting plan you can run in one afternoon, and the mistakes that send photos into review.
What Grubhub actually publishes
Grubhub checks every uploaded menu photo for size and resolution. A photo that fails shows in your menu dashboard as in review or rejected, and the item keeps whatever image it had before. That is the whole of the published rule set: a technical check on the file, applied per photo, at upload.
Grubhub does not publish pixel specs. There is no official minimum dimension, aspect ratio or file-size number to design around, and any figure you see quoted elsewhere should be treated as unverified. The practical advice is to open the photo upload screen in Grubhub for Restaurants and read the guidance shown there before you batch-upload a new menu.
One structural fact is worth knowing if you run more than one brand: Seamless is a Grubhub brand and shares its restaurant network, so the images you set for a Grubhub menu are the images diners see on Seamless too. Shoot once, for both.
- Every photo is checked for size and resolution at upload
- Failed photos appear as in review or rejected
- Grubhub publishes no pixel specs, so check the upload screen
- Seamless shares the Grubhub restaurant network and its images
Why the square crop is the safe default
Grubhub presents menu items as square tiles in the ordering flow. Because no official aspect ratio is published, a 1:1 crop is the defensible choice: it fills the tile without the platform guessing which part of a wide photo to keep. Shoot or crop every dish to square and you remove one variable from the review process.
Compose for the square in camera rather than cropping later. Keep the dish centered with a small margin on all four sides, because a tight crop that touches the plate edge looks clipped once the tile rounds its corners. If you also need a wide shot for your own website hero or a 16:9 banner, take it as a second frame in the same session rather than trying to make one file serve both.
Resolution matters more than the platform's floor, whatever that floor turns out to be. A tile that is sharp on a phone screen needs a source file well above screen size. Shoot at your camera's or phone's full resolution and export the square at 1024x1024 or larger so the image survives being displayed on high-density screens.
- Crop to 1:1 and center the dish with margin on all sides
- Shoot square in camera, then take a separate wide frame if you need one
- Export the square at 1024x1024 or larger
- Keep a full-resolution master of every dish
A shooting plan for a delivery menu
Delivery menus are read on phones, often by someone deciding in under a minute. That changes what a good photo is: the dish has to be identifiable at thumbnail size, so close in and let the food fill most of the frame. A table-setting shot with cutlery, a drink and a napkin reads as clutter in a 1:1 tile.
Shoot from roughly 45 degrees above the plate for most dishes, which shows both the surface and the height of the food. Go to a straight overhead 90 degrees for bowls, pizzas and anything where the topping pattern is the selling point. Get within about 30 to 60 cm of the plate with a phone so the dish fills the frame without digital zoom, which softens detail.
Light the food with one large source from the side or slightly behind, and put a white card or a sheet of foil on the opposite side to bounce light back into the shadows. Window light on an overcast day is close to ideal. Avoid the phone's flash straight on: it flattens texture and puts a hard highlight on sauces.
Shoot each dish within a few minutes of plating. Steam fogs the lens, sauces skin over, and fried items lose their surface sheen fast. Have the kitchen plate one dish at a time and photograph it before the next ticket goes out, rather than lining up ten plates that cool while you work.
- Fill 70 to 80 percent of the frame with the dish
- 45-degree angle for plated dishes, 90-degree overhead for bowls and pizza
- One soft side light plus a white bounce card
- Photograph each plate within two to three minutes of plating
What gets a photo sent back
Grubhub's published checks are about size and resolution, but the practical rejections restaurant owners hit are usually content problems that a reviewer or an automated check catches. Text baked into an image is the most common: price tags, "new", "spicy", promotional banners and watermarks all turn a food photo into an advertisement. Crop or reshoot without them.
Interior shots, exterior shots and logos belong on your profile, not on a menu item. A menu photo should show the food a customer is about to order, so a picture of the dining room next to "Margherita Pizza" creates a mismatch that hurts trust at the moment of choosing.
Duplicates and borrowed images are the other trap. Using a supplier's stock photo of a burger, or the same image for two different dishes, undermines the menu and can be flagged. If a dish changes (a new bun, a different side), reshoot it rather than reusing the old file.
Finally, check the file itself before uploading: correct dish name matched to the correct photo, no accidental screenshot, and a format the upload screen accepts. Most in-review states clear up when you replace the file with a clean square export.
- No text, prices, badges or watermarks on the image
- No interiors, exteriors or logos on menu item photos
- No stock photos and no reuse of one image across dishes
- Match each file to the right menu item before upload
Building a photo kit you can reuse
One shoot should serve every surface you control: the Grubhub and Seamless menu, your own website menu, a QR code menu at the table, Instagram, and your Google Business Profile. Those channels want different shapes, so plan the outputs at the start rather than re-cropping by hand each time a menu changes.
From each dish, export a square 1:1 for delivery tiles and grid posts, a 4:5 portrait for Instagram feed, a 16:9 landscape for website banners and Google Business Profile cover use, and a 9:16 vertical for stories. Keep the same lighting and background across the whole menu so the tiles look like one restaurant rather than a collage.
Name files by dish and date (for example, margherita-pizza-2025-03) so the kitchen and the person updating the menu can tell versions apart. Store the full-resolution master and the exports in one folder per menu cycle. The next time a dish changes, you replace one file instead of reshooting the menu.
FoodPhoto takes a real photo of your own dish and improves the light, background and crop for menus, delivery apps and social while keeping the food as it is, and delivers each photo as a kit of sizes. Use it for your own channels and for the delivery menus you control; it cannot guarantee approval on any platform, so always check the upload screen in Grubhub for Restaurants.
Before you upload to Grubhub
Run this list once per menu update. It takes a few minutes and saves a round of rejected images.
- Read the current guidance on the Grubhub for Restaurants photo upload screen
- Export every image as a centered 1:1 square at 1024x1024 or larger
- Remove all text, prices, badges and watermarks
- Confirm each photo shows only the dish it is attached to
- Shoot or reshoot anything borrowed from a supplier
- Check that Seamless, which shares the Grubhub network, will show the same images
- Keep full-resolution masters in a dated folder
Checklist before you publish
- Open the Grubhub upload screen and read the current photo guidance
- Shoot each dish square, centered, filling most of the frame
- Use one soft side light and a white bounce card
- Export at 1024x1024 or larger and keep the master file
- Strip all text, prices and watermarks before upload
- Match every file to the correct menu item
- Reshoot supplier or stock images with your own dish
Questions
What size should Grubhub menu photos be?
Grubhub does not publish pixel specs for menu photos. It checks uploaded images for size and resolution and shows failures as in review or rejected, so the reliable move is to open the photo upload screen in Grubhub for Restaurants and follow the guidance shown there. As a working standard, export a centered square at 1024x1024 or larger so the tile stays sharp on phone screens.
Why is my Grubhub photo stuck in review?
A photo in review usually failed the size or resolution check, or the file was replaced by something the system could not process cleanly. Replace it with a fresh square export at a generous resolution, with no text, watermark or screenshot artifacts. If it stays stuck after a clean re-upload, contact Grubhub restaurant support through your dashboard.
Can I use the same photo for Grubhub and Seamless?
Yes. Seamless is a Grubhub brand and shares its restaurant network, so the images on your Grubhub menu are the ones diners see on Seamless. Set them once and check both listings after a menu update.
Should Grubhub photos include prices or promotions?
No. Keep menu photos to the food itself. Prices, badges, "new" labels and promotional banners turn the image into an ad and are a common reason photos get sent back. Put pricing and offers in the menu text fields, where they can be updated without reshooting.