Product photos

Prepare the photos your listing needs

Choose the right frame for a Mercado category, check the actual crop, and keep Etsy listing previews separate from the digital files buyers receive.

4 min read Updated Sep 5, 2026
A product arranged in a small studio with consistently framed listing photos.
Quick answer

What you need to know

Start with the marketplace, category and upload field. Prepare clear copies in the right frame, check every crop and preview the listing. Mercado category guidance can call for different shapes. On Etsy, the listing photo and the digital product delivered to a buyer have separate requirements.

Best for
Sellers preparing product photos for Mercado Libre, Mercado Livre or Etsy, including shops selling downloadable artwork.
Start with
Image Pack Builder
Do this first

Prepare the listing copy

A useful pack starts with real source photos. Resizing does not create missing product views or recover detail.

  1. 1

    Identify the exact field

    Check the country, product category and whether you are preparing a main photo, another listing image or a purchased digital file.

  2. 2

    Choose the appropriate frame

    Use the marketplace’s category guidance. Keep clear originals with enough room around the complete product.

  3. 3

    Review each prepared image

    Compare center crop with the original. Padding preserves the whole source but adds digital margins that a category may disallow.

  4. 4

    Inspect the listing preview

    Check product edges, labels, texture and color, then review the marketplace’s own thumbnails before publishing.

01

Match the marketplace and category

There is no universal seller-photo rectangle. A useful preset should explain whose guidance it follows and whether the size is a recommendation, an ideal or a required minimum.

  • Confirm the rules for your country, category and main or secondary image before selecting a frame.
  • Keep the full item visible and make color and material look faithful to the real product.
  • Use your own clear front, back and detail photos where the listing needs them. A resized copy is not a new camera angle.
  • The Mercado tools accept JPG, PNG, WebP and AVIF. Convert an HEIC source first if you need to use this particular workflow.
Use the tool

Open Image Pack Builder

Create several sizes from one source when you need a reusable set; check each destination before choosing a preset.

Official category examples

A square recommendation is not a rule for every product

These two Mercado sources describe different contexts. Select the matching category and check its current instructions.

General API guidance
1200 × 1200 pixels recommended
The developer guide gives a general square recommendation.
Mexico: dresses and rompers
1200 × 1540 pixels described as ideal
This clothing guide uses a portrait frame and asks for the complete product without overlays.
Comparison of published recommendations, not an approval test. Country, category and image-position rules can differ. The localized tools include additional links for their market.
02

Check crops, margins and detail

The Mercado tools produce one JPG per selected source and can collect those JPGs in a ZIP with ordered filenames. Review each image; a correct pixel frame can still contain a bad crop.

  • Center crop fills the chosen frame and can remove product edges. Return to a better-framed source if important content falls outside it.
  • Contain keeps the whole photo and adds white margins. That is digital padding, not background removal or a guarantee that a category permits the result.
  • An enlargement warning means the source is smaller than the selected frame. More output pixels do not recreate missing detail.
  • The tools check generated JPG dimensions and bytes. They do not certify DPI, ICC profiles, product content, rights or listing approval.
  • Open the individual JPGs from the ZIP before uploading. Compare texture, lettering and color with the originals.
Inspect the actual files

Same output frame, different content

The synthetic 1600 × 1000 source was downloaded through the Spanish tool’s fashion preset using both framing modes. Open the images to see the removed edges and added margins.

Measured 5 September 2026 in Chrome 152.0.7977.83. These are synthetic illustrations, not product photographs or listing-acceptance evidence. Both remain below the fashion guide’s approximate byte minimum, and the padded example may conflict with background rules. Encoder versions can produce different bytes.
03

Separate the Etsy preview from the delivered file

A listing image helps a buyer inspect the item. A purchased download must contain the promised usable product. Keep separate export sets so a small preview does not accidentally replace a printable master.

  • For listing photos, preview the product in the marketplace’s thumbnail controls rather than relying only on the local rectangle.
  • For printable art, check the intended physical size and remaining pixel detail before making buyer files. A listing preview does not establish print quality.
  • Use meaningful names for files the buyer receives, open each one and check any instructions included in the package.
  • A ZIP can package files, but it does not recover quality or automatically make a large delivered product fit the platform’s byte limit.
Different upload fields

Listing photos and purchased downloads have separate rules

Apply the requirements to the correct file, rather than treating the storefront preview as the product master.

Listing photo
Prepare a clear, opaque preview
Etsy recommends at least 2000 pixels in both width and height. Transparent PNGs are unsupported and transparent areas appear black.
Digital product
Package the files the buyer purchased
Etsy permits up to five digital files, each no larger than 20 MB, for its digital delivery fields.
Both Etsy help pages are undated and were checked 5 September 2026. Current platform instructions take precedence. This distinction does not promise listing visibility or sales.
Quick questions

Marketplace photo preparation questions

Should every marketplace photo be square?

No. Check the category and intended image position. A general square preset is a starting option; portrait clothing guidance and marketplace thumbnail crops can call for a different composition.

Do white margins count as background removal?

No. Contain adds padding around the existing photograph. It does not remove the photographed background, and those added margins may not suit the category rules.

Why does a correctly sized photo still get a warning?

Pixels are only one requirement. The source may be too small to enlarge cleanly, its bytes may fall below a category’s stated guidance, or the product, background, color profile and content may need review.

Does the photo pack invent different product views?

No. Each Mercado output comes from one source you selected. Choose actual photos of the angles and details you need.

Can I deliver the listing preview as printable artwork?

Only if that file actually matches what you promised the buyer. Keep the high-resolution product master, check its intended print size and prepare the buyer package separately from storefront previews.

Remember this

The short version

  • Choose the category before the export frame.
  • Inspect product edges and detail in every generated JPG.
  • Keep storefront previews separate from purchased digital files.
Ready to work

Open the tool you need

Choose the tool for the change your file needs.

(function() { const title = document.querySelector('h1'); const actionRegion = document.querySelector('.action-container, .action-body'); if (!title || !actionRegion || title.querySelector('.tool-hero-mark')) return; const path = window.location.pathname.replace(/\/$/, ''); if (!path || path === '/' || path.startsWith('/converters') || path === '/about' || path === '/contact' || path === '/support' || path === '/privacy-policy') { return; } const lowerKey = path.replace(/^\/(video|audio)\//, '').replace(/^\//, '').toLowerCase(); if (!lowerKey) return; let category = 'image'; if (path.startsWith('/video/')) category = 'video'; if (path.startsWith('/audio/')) category = 'audio'; const isUtility = lowerKey.includes('ascii') || lowerKey === 'check-my-file' || lowerKey === 'prepare-for-ai' || lowerKey.includes('resizer') || lowerKey.includes('metadata') || lowerKey.includes('compress') || lowerKey.includes('base64') || lowerKey.includes('background') || lowerKey.includes('crop') || lowerKey.includes('watermark') || lowerKey.includes('remove-pages') || lowerKey.includes('unlock') || lowerKey.includes('protect') || lowerKey.includes('editor') || lowerKey.includes('excel') || lowerKey.includes('upscale') || lowerKey.includes('merge') || lowerKey.includes('split') || lowerKey.includes('ocr') || lowerKey.includes('sign') || lowerKey.includes('trim') || lowerKey.includes('favicon'); if (category === 'image' && isUtility) category = 'tool'; const labelMap = { jpg: 'JPG', jpeg: 'JPEG', png: 'PNG', gif: 'GIF', svg: 'SVG', pdf: 'PDF', heic: 'HEIC', jfif: 'JFIF', webp: 'WEBP', bmp: 'BMP', ico: 'ICO', word: 'DOCX', docx: 'DOCX', excel: 'Excel', xls: 'XLS', xlsx: 'Excel', mp4: 'MP4', mov: 'MOV', avi: 'AVI', mp3: 'MP3', aac: 'AAC', flac: 'FLAC', wav: 'WAV', webm: 'WEBM', cr2: 'CR2', arw: 'ARW', nef: 'NEF', raf: 'RAF' }; const formatLabel = (value) => labelMap[value] || value.toUpperCase(); function getFormatMeta(key) { if (key === 'check-my-file') { return {primary: 'Check', secondary: 'File', connector: 'dot'}; } if (key === 'prepare-for-ai') { return {primary: 'Prepare', secondary: 'AI', connector: 'dot'}; } const directMatch = key.match(/^([a-z0-9]+)-to-([a-z0-9]+)$/); const convertMatch = key.match(/^convert-([a-z0-9]+)-to-([a-z0-9]+)$/); const convertToMatch = key.match(/^convert-to-([a-z0-9]+)$/); if (directMatch) { return {primary: formatLabel(directMatch[1]), secondary: formatLabel(directMatch[2]), connector: 'arrow'}; } if (convertMatch) { return {primary: formatLabel(convertMatch[1]), secondary: formatLabel(convertMatch[2]), connector: 'arrow'}; } if (convertToMatch) { return {primary: 'Any', secondary: formatLabel(convertToMatch[1]), connector: 'arrow'}; } if (key.startsWith('compress-')) { return {primary: 'Compress', secondary: formatLabel(key.replace('compress-', '')), connector: 'dot'}; } if (key.includes('base64') && key.includes('decode')) { return {primary: 'Base64', secondary: 'Decode', connector: 'dot'}; } if (key.startsWith('base64-to-')) { return {primary: 'Base64', secondary: formatLabel(key.replace('base64-to-', '')), connector: 'arrow'}; } if (key.includes('-to-base64')) { const from = key.replace('convert-', '').replace('-to-base64', ''); return {primary: formatLabel(from), secondary: 'Base64', connector: 'arrow'}; } if (key.includes('base64')) { return {primary: 'Base64', secondary: 'Encode', connector: 'dot'}; } if (key.includes('ascii')) { return {primary: 'ASCII', secondary: 'Art', connector: 'dot'}; } if (key.includes('resizer')) { return {primary: 'Resize', secondary: 'Pixels', connector: 'dot'}; } if (key.includes('remove-pages')) { return {primary: 'Remove', secondary: 'Pages', connector: 'dot'}; } if (key.includes('crop') && key.includes('pdf')) { return {primary: 'Crop', secondary: 'PDF', connector: 'dot'}; } if (key.includes('pdf-editor')) { return {primary: 'Edit', secondary: 'PDF', connector: 'dot'}; } if (key.includes('unlock')) { return {primary: 'Unlock', secondary: 'PDF', connector: 'dot'}; } if (key.includes('protect')) { return {primary: 'Protect', secondary: 'PDF', connector: 'dot'}; } if (key.includes('pdf') && key.includes('metadata')) { return {primary: 'Clean', secondary: 'Metadata', connector: 'dot'}; } if (key.includes('metadata')) { return {primary: 'EXIF', secondary: 'Clean', connector: 'dot'}; } if (key.includes('background')) { return {primary: 'Remove', secondary: 'Background', connector: 'dot'}; } if (key.includes('crop')) { return {primary: 'Crop', secondary: 'Image', connector: 'dot'}; } if (key.includes('watermark')) { return {primary: 'Watermark', secondary: 'Image', connector: 'dot'}; } if (key.includes('upscale')) { return {primary: 'Upscale', secondary: 'Image', connector: 'dot'}; } if (key.includes('merge')) { return {primary: 'Merge', secondary: 'PDF', connector: 'dot'}; } if (key.includes('split')) { return {primary: 'Split', secondary: 'PDF', connector: 'dot'}; } if (key.includes('ocr')) { return {primary: 'OCR', secondary: 'PDF', connector: 'dot'}; } if (key.includes('sign')) { return {primary: 'Sign', secondary: 'PDF', connector: 'dot'}; } if (key.includes('trim')) { return {primary: 'Trim', secondary: 'Video', connector: 'dot'}; } return {primary: 'Tool', secondary: '', connector: 'dot'}; } function getIconClass(key, categoryName) { const toFormat = key.split('-to-')[1]; if (key === 'check-my-file') return 'bi-file-earmark-check'; if (key === 'prepare-for-ai') return 'bi-ui-checks-grid'; if (key.includes('ascii')) return 'bi-textarea-t'; if (key.includes('resizer')) return 'bi-aspect-ratio'; if (key.includes('metadata')) return 'bi-shield-slash'; if (key.includes('compress')) return 'bi-file-earmark-zip'; if (key.includes('base64')) return 'bi-journal-code'; if (key.includes('background')) return 'bi-scissors'; if (key.includes('crop')) return 'bi-crop'; if (key.includes('watermark')) return 'bi-type'; if (key.includes('remove-pages')) return 'bi-trash'; if (key.includes('unlock')) return 'bi-unlock'; if (key.includes('protect')) return 'bi-lock'; if (key.includes('editor')) return 'bi-pencil-square'; if (key.includes('excel')) return 'bi-file-earmark-spreadsheet'; if (key.includes('upscale')) return 'bi-arrows-angle-expand'; if (key.includes('merge')) return 'bi-files'; if (key.includes('split')) return 'bi-scissors'; if (key.includes('ocr')) return 'bi-file-earmark-text'; if (key.includes('sign')) return 'bi-pen'; if (key.includes('trim')) return 'bi-scissors'; if (toFormat) { switch (toFormat) { case 'jpg': case 'jpeg': return 'bi-filetype-jpg'; case 'png': return 'bi-filetype-png'; case 'gif': return 'bi-filetype-gif'; case 'svg': return 'bi-filetype-svg'; case 'pdf': return 'bi-filetype-pdf'; case 'word': case 'docx': return 'bi-file-earmark-word'; case 'xls': case 'xlsx': case 'excel': return 'bi-file-earmark-spreadsheet'; case 'heic': return 'bi-filetype-heic'; case 'webp': return 'bi-filetype-webp'; case 'bmp': return 'bi-filetype-bmp'; case 'ico': return 'bi-file-image'; case 'mp4': return 'bi-filetype-mp4'; case 'mov': return 'bi-filetype-mov'; case 'mp3': return 'bi-filetype-mp3'; case 'wav': return 'bi-filetype-wav'; case 'avi': return 'bi-filetype-avi'; default: return 'bi-file-earmark-image'; } } if (categoryName === 'video') return 'bi-film'; if (categoryName === 'audio') return 'bi-music-note-beamed'; if (categoryName === 'image') return 'bi-file-earmark-image'; return 'bi-gear'; } const formatMeta = getFormatMeta(lowerKey); const connectorIcon = formatMeta.connector === 'arrow' ? 'bi-arrow-right-short' : 'bi-dot'; const iconClass = getIconClass(lowerKey, category); const mark = document.createElement('span'); mark.className = `tool-hero-mark converter-mark converter-mark--${category}`; const iconWrap = document.createElement('span'); iconWrap.className = 'converter-mark__icon'; const icon = document.createElement('i'); icon.className = iconClass; iconWrap.appendChild(icon); mark.appendChild(iconWrap); const formatWrap = document.createElement('span'); formatWrap.className = 'converter-format'; const primary = document.createElement('span'); primary.className = 'format-pill'; primary.textContent = formatMeta.primary; formatWrap.appendChild(primary); if (formatMeta.secondary) { const connector = document.createElement('span'); connector.className = 'format-connector'; const connectorIconEl = document.createElement('i'); connectorIconEl.className = connectorIcon; connector.appendChild(connectorIconEl); formatWrap.appendChild(connector); const secondary = document.createElement('span'); secondary.className = 'format-pill format-pill--secondary'; secondary.textContent = formatMeta.secondary; formatWrap.appendChild(secondary); } mark.appendChild(formatWrap); title.classList.add('tool-hero-title'); title.prepend(mark); })();