Skip to main content

Amazon Listing Preview Tool

Renders one row of an Amazon flat file as the product page it will become, with every value naming the spreadsheet cell it came from. Titles, bullets, highlights, and backend search terms are measured against their own caps, including the 1,000 bytes Amazon indexes across all bullets combined rather than per bullet. Prohibited symbols, all capital text, and any word used more than twice are flagged.

Contacts an external service

This tool needs the network to work and can contact cdn.jsdelivr.net, docs.google.com and unpkg.com. Those services have their own privacy policies.

E-commerce
Product Listings
Marketplace Compliance
Loading the tool
Reference

Documentation

A sample flat file is available for a first run, before the tool is pointed at a real catalogue. It holds 14 invented listings across five variation families, with the images hosted alongside it so every picture loads.

Download Example Files (ZIP)

amazon-listing-example.xlsx is the file to open first. It uses the column names Amazon writes today, Parentage Level and Variation Theme Name among them. The README in the zip covers the other file.

Four of the fourteen listings are clean. The rest carry a deliberate fault, so the issue list has something to report the moment the sheet loads: a missing main image, a variation family with a hole in it, a title breaking eight rules at once, bullets running past the 1,000 bytes Amazon indexes, a Google Drive share link where an image URL belongs, and a Windows file path pasted into the same column. The README names which SKU carries which fault.

Every row is invented. Apple and Nike are real companies; these products, SKUs, ASINs, barcodes, and prices are not theirs and are not real, and the photographs are flat colour cards stamped SAMPLE IMAGE. Nothing here came from either company or from Amazon. The brand names appear for reference only, and are not an endorsement by, nor do they imply any affiliation with, Apple, Nike, or Amazon.

The Amazon listing preview tool loads a spreadsheet, renders one selected SKU's row as a shopper would see it, and runs Amazon's listing rules against the copy as it stands. What follows covers loading a sheet, moving through the catalogue, cutting it down to the rows actually under review, what each part of the preview reports, and how problems are collected.

Open and watch keeps a handle on the file, checks it every two seconds, and reloads it whenever the saved copy has changed, holding the current SKU's place through the reload. This is the mode suited to active editing. Because it is a check on a timer rather than a message from the operating system, two things follow. A file can be briefly unreadable in the middle of a save, and one failed check means nothing, but five in a row means the file has gone rather than gone busy, whether renamed, moved, deleted, or closed elsewhere; watching then stops, the status line reports it and stamps the time, and Open and watch restarts the connection to pick the file back up. A browser also throttles timers in a tab it considers hidden, so a window minimised or fully covered by Excel can drop from a two-second check to roughly a minute between checks; the Reload control forces an immediate one. One time import takes a single snapshot; a later edit needs another import or the Reload control. Watching needs browser support for file handles, currently Chrome and Edge, so other browsers show only the import box and Reload. Both accept .xlsx, .xlsm, .xls, and .csv, and both read the first worksheet.

Google Sheet link or ID is the same live arrangement with nothing to upload. A browser address bar link, or just the id from the middle of it, is enough; the sheet is read directly and re-read every fifteen seconds, so the source sheet and the preview stay in step. It asks for no file handle, so unlike Open and watch it works in Firefox and Safari as well as Chrome and Edge. The sheet has to be shared as Anyone with the link can view, because the tool signs in to nothing and a private sheet returns nothing a browser is allowed to read. A Publish to web address carries a different id and does not work; the ordinary sharing link is the one that does. The link is remembered and reopens automatically after a refresh, with no permission to grant again. One point of care: Google returns the sheet's data range rather than the whole grid, and cell addresses are counted from the first row of what comes back. Where the header is the first row, which is how catalogue exports come, the addresses are exact; where a sheet keeps blank rows above its header, the header row named in the status line is worth checking before acting on an address. A report taken from a Google Sheet states the same header row in its own header.

Neither the file nor the current place in it is lost to a refresh. A Reopen control names the file that was open, and restores access in one step; where the browser already grants the site standing access, it reopens on its own. The picker returns to the folder that file came from. The SKU last viewed is saved while moving between rows and restored as soon as a sheet carrying it loads, however that sheet was loaded. The one time import box cannot be pointed at a folder, since no browser exposes that capability.

None of it reaches a server. The spreadsheet is parsed by the browser itself and never uploaded; a Google Sheet is fetched by the browser directly from Google, and every image directly from wherever its URL points, so nothing loaded, typed, or drafted is stored anywhere but that browser. What persists between visits, the settings, the draft edits, the remembered file and link, and the last SKU viewed, lives in the browser's own storage, and a Reset clears all of it.

The header row is the fullest of the first twenty five rows. Headers are matched against known names: Item Name, Product Title, Bullet Point 1 to 10, Item highlights, Description, Brand, Variation Theme Name, Size, Style, Color, MAP, MSRP, Currency, UPC, External Product ID, Main image, Image 01 to 09, and the underscored flat file spellings such as main_image_url and other_image_url1. Columns Amazon has renamed are matched under both spellings, so Variation Theme Name also answers to Variation Theme and Parentage Level to Parentage, and a sheet exported before the rename maps exactly as one exported after it. A sheet whose images start at Image 01 with no main image column has the first promoted to the main slot. Every attribute an Amazon variation theme can switch on is matched too, Diameter, Item Shape, Number of Items, Set Name, Collection Item, Occasion Type, Pattern Name, Item Package Quantity, Flavor, Scent, Team Name, Edition, Configuration, Unit Count, Width Range, and Item Form among them, each under both the spaced and the underscored spelling. Anything the tool cannot place is listed under Column mapping in Settings, where a dropdown against every field sets it manually.

The catalogue dropdown, a search box narrowing by SKU, ASIN, UPC, or title, the Previous and Next controls, and the Left and Right arrow keys (ignored while the cursor sits in a text box) all move between listings. Every dropdown entry leads with its sheet row, so the row numbers run down the left of the list and a row cited in a report or a message can be found by eye; the SKU, the ASIN where it differs, and the first sixty characters of the title follow. A row carrying neither a SKU nor a title is listed by its row number alone, since that is the only thing it can be called. An entry wider than the column is cut to fit rather than left to run off the edge, the title giving up its tail first so the row number, SKU, and ASIN stay whole, with the full entry available on hover. Widening the Source column with the divider beside it restores the entries' full text. The search box matches SKU, ASIN, UPC, and title, not the row number, which has its own box below.

A status line below those controls names the SKU on show and the sheet row it sits on; that row number is also an entry box, so a row read off a report or worked down a list in Excel moves the preview straight to that listing. What is entered is a sheet row rather than a position in the list, counted the same way as every cell address the tool prints, so on a sheet with blank lines in it the two do not agree. A row carrying no listing, whether a blank line, the header, or anything above it, resolves to the next listing below it, and anything past the end resolves to the last one; the box then shows where it actually landed and states as much. Any other way of choosing a SKU keeps the row number current automatically.

A preview-mode selector switches between the desktop page, the narrower mobile layout, and the search result card. Source and Preview sit side by side on a wide screen, divided by a bar that can move either direction to give one side more of the page, toward the preview for a larger rendered view, toward the controls for a wider panel and a longer entry in the SKU list. The divider is keyboard-reachable too: the Left and Right arrow keys move it two points at a time, five with Shift held, Home and End jump to the narrowest and widest positions allowed, and Enter or a double click returns it to the default third. Its position is remembered between visits, and Reset restores the default. Below tablet width the two panels stack into one column and there is no split to set.

Most catalogue exports carry rows nobody is reviewing: discontinued lines, another marketplace's SKUs, a supplier's whole range where only one brand is in scope. Row filters, under Settings, cut the sheet down to the rows actually under review, each rule pointed at a column, a test, and a value to test against. A sheet with a Discontinued? column filters to the live lines with a single rule reading Discontinued? contains Active, or Discontinued? does not contain Discontinued, whichever way that column happens to be written.

A rule can point at any column in the sheet, and the ones worth filtering on are usually the ones the preview has no other use for: a status flag, a channel marker, a stock figure. Those are exactly the columns listed as unmapped under Column mapping, offered here alongside the mapped ones. The values a column actually holds are offered while typing, so a status column filters by picking one of its three answers rather than by spelling it out, and each rule reports underneath how many rows it would keep on its own, a way to confirm a rule says what it was meant to say before combining it with the rest.

The tests are contains, does not contain, is exactly, is not, starts with, ends with, is one of, is none of, is empty, is not empty, is greater than, and is less than. Is one of takes a short list separated by commas, pipes, or new lines, so a channel column is cut to two marketplaces in one rule. The two numeric tests read a cell the way a spreadsheet wrote it, so 1,250 and $1,250.00 both compare as 1250, and a cell holding words rather than a number fails a numeric test rather than passing it by accident. Matching ignores case unless case matching is turned on.

Multiple rules combine two ways: keeping a row only when every rule matches, the way to say Active and in stock, or when any rule matches, the way to say either of two brands. Any number of rules can be added or removed, and a single tick box switches the whole filter on and off without discarding the rules, so a catalogue can be read filtered, then whole, without rebuilding anything.

A filter cuts everywhere at once, which is the point of it: the dropdown, the preview, Previous and Next, the arrow keys, Issues across every SKU, Audit every SKU, and the plain text report all read the rows the filter left standing. That includes the variation switcher, so a family whose blue child is filtered out offers red and green. It is not the same thing as the search box above, which narrows the dropdown only and leaves the audits reading the whole sheet. Because filtering changes what a report is a report of, every figure that could be misread says so: the line under the SKU picker names how many rows are hidden, the catalogue browser repeats it in its heading, and the plain text report carries the rules and the count of rows shown in its header, so a report reading no errors across 120 rows can never be mistaken for one covering all 450.

Nothing is written back. A hidden row is hidden in this browser and untouched in the spreadsheet, and it comes straight back when the rule is loosened or switched off. Rules are remembered by column name rather than by position, so they survive a refresh, a reload, an edit, and a column being inserted in Excel, and a watched file re-runs them on every poll: a row marked discontinued in Excel drops out of the catalogue within a couple of seconds without anyone touching the filter. A rule naming a column the loaded sheet does not carry is ignored rather than failing every row against it, since a filter that empties the catalogue over a renamed column is worse than one that quietly does less; the rule says so underneath and the status line counts how many were left out. Where a filter does legitimately hide every row, the preview says that is what happened rather than going blank, and Reset clears the rules along with everything else.

Hovering any value shows its column and exact cell in a tooltip, written as Item Name (D20), the real spreadsheet address, counted from the sheet origin and including any blank rows above the header, so the source cell is easy to locate. A line built from several columns names every one of them. Character counts sit under each field, coloured poor, weak, better, or strong; length sets the band, and any hard compliance break forces poor regardless of length. Every band below strong carries the sentence naming the fix, and the issue list repeats that same wording rather than inventing a second version of it.

Every image slot is drawn whether or not the cell holds a URL, so a gap in the middle of a sequence is obvious at a glance. A missing main image renders as a large dashed box; each empty secondary slot is a smaller one captioned with its column. Hovering shows the column, the cell, and the URL itself. A Checks setting can turn the placeholders off to show only the images that exist.

The thumbnail strip opens with the main image, ahead of Image 01. The thumbnail on show is ringed in blue, against the red that marks an empty or broken slot, so the strip shows both which picture is on display and which ones are a problem; selecting any thumbnail, by pointer or by keyboard (Tab between thumbnails, Enter or Space to show one), puts that picture in the large box above it. Selecting the large picture copies its URL to the clipboard, reaching every image in the strip in two selections. Settings can switch that copy to the file name alone, parsed out of the address, so a Dropbox link ending in SSRD-8030CASE_fatdaddios.jpg?rlkey=htsezbg4bjj90j4lh7q6pcvlp&raw=1 copies as SSRD-8030CASE_fatdaddios.jpg. The URL is what goes back into a cell; the file name is what gets matched against a folder or quoted to whoever keeps the photography. Moving to another SKU opens on that row's main image again, while reloading the sheet or editing a draft leaves the picture on display where it is.

To see how a picture would look before it goes anywhere near the sheet, drag it onto a thumbnail, an empty slot, or the large picture, which stands for whichever slot it is showing. An image file from a folder, a picture dragged out of another browser tab, and a thumbnail dragged along the strip onto another slot all work. The slot then shows the new picture, ringed with a dashed amber border and labelled temporary, while the audit, the issue list, the slot count, and the report go on reading the sheet, and nothing is written to the spreadsheet. Temporary images are kept in this browser against the SKU and slot, so they survive a refresh and a reload, and a file is scaled down to at most 2000 pixels on its longest side before it is kept, since browser storage holds only a few megabytes in all. One too large to keep even then stays on show until the page is refreshed, and the notice says so. A button below the thumbnails removes every temporary image across every SKU, and Reset clears them too. Dropping needs a pointer: there is no keyboard route for placing a file on a slot.

A URL that fails to load leaves a box of the same size marked failed, changing the colour of the strip without changing its shape; the column, the cell, and the URL stay on the tooltip, and a failed box is selectable exactly as the picture would have been, showing the failure at full size. The usual causes are a deleted file, a folder that is not public, or a share address serving a web page rather than the picture itself. Dropbox links ending in dl=0 are the last of those and are requested as raw=1 instead, so the preview shows the file rather than the page around it; this rewrite is for the preview only, since Amazon fetches the URL exactly as the sheet writes it, so a link needing correction to display here needs correcting in the sheet too, which is why the address itself is checked as well as the picture. A share address from Dropbox, Google Drive, Google Photos, OneDrive, Box, or WeTransfer answers with a web page wrapping the file rather than the file itself, so Amazon receives markup instead of an image and the listing goes live without that picture; each is reported as an error naming the service and the fix. The same applies to anything that is not a web address at all, such as a path copied from Windows. A Dropbox link already carrying raw=1 or dl=1 serves the file and is left alone, as is every ordinary image URL. Separately, the same URL appearing in two slots is an advisory rather than an error, since Amazon accepts it and simply shows one picture twice; the report names the earlier slot so the colliding pair can be identified.

Two separate rules are reported against the count, because Amazon treats them differently. A row with no image URL at all is an error: Amazon requires at least one and rejects a listing without it, and a row whose main image cell is empty is an error on the same footing, since the main image is the one the search results use. Fewer than six images in total, counting the main one, is only an advisory, because such a listing goes live and simply converts worse than it could. A row carrying one image is therefore flagged once, as an advisory; a row carrying none is flagged once, as an error. A sheet with no image columns at all is a different matter again and is not treated as a fault: there is nothing to judge, so the row says so as an advisory rather than showing an error it cannot support, which keeps a copy-only sheet from turning red on every SKU while still making clear the image rules went unchecked.

A MAP or Price column supplies the price and an MSRP or List Price column is rendered struck through underneath. Both print the way Amazon prints them rather than the way a spreadsheet stores them: a cell holding 262.5 shows as $262.50, given two decimal places, thousands separators, and the symbol for whatever the Currency column holds, falling back to the dollar where the sheet has no such column. A cell that already spells out its own symbol or currency code is left exactly as written, so a price entered as $262.50 or 262.50 USD is never dressed up twice. Hovering the figure names the money cell and, where it supplied the symbol, the currency cell beside it. Amazon draws the strike only where the list price is above the price, so where it is not the figure is left plain and the preview reports that the live page will show none. A row carrying a single figure shows it as the price, whichever column it came from.

Item highlights render beneath the title as one grey comma separated line, as Amazon shows them. Exports keep the whole block in one cell, so it is split on newlines, pipes, or semicolons, and on commas only where none of those appear; the Item highlights setting forces a separator or turns splitting off. Each piece is measured against its own limit, 100 characters by default, and runs through the same banned phrase and character checks as the bullets. There is no lower bound: a two word highlight is what the field is for.

Bullets answer to two separate limits. The per bullet cap in Settings defaults to 500, the flat file maximum for sellers, while Amazon's style guide asks for 255 and some categories for 150. Separately, only the first 1,000 bytes across all bullets combined are indexed by search, reported as a total beneath the list; past that point the text still shows on the page but earns no search visibility.

Where the variation columns are populated, the preview builds the switcher Amazon would build, above About this item. The Variation Theme Name names the dimensions and their order, and each dropdown lists the values carried by every SKU sharing this row's Parent SKU, written as a shopper sees them: an iPhone family reads 256GB and Midnight rather than the part number printed on the box. Choosing one moves the whole preview to that SKU. Where a combination does not exist the nearest sibling is shown and the tool reports as much. A sibling that leaves the dimension empty is never listed as a value, an empty cell being a fault rather than a value, but it still has to be reachable: the dropdown carries a Not set entry naming how many rows are in that state, and where the row on screen is itself the empty one that entry reads as its own state instead. Without it a family half filled in would be a one-way door, since a shopper could step out of the empty rows but never back into them.

The theme is read as Amazon writes it. A single dimension such as COLOR, SIZE, DIAMETER, ITEM_SHAPE, NUMBER_OF_ITEMS, SET_NAME, COLLECTION_ITEM, or OCCASION_TYPE draws one dropdown; dimensions joined by slashes draw one each, in the order the theme lists them, so COLOR/SET_NAME, COLOR/ITEM_SHAPE/SIZE, and NUMBER_OF_ITEMS/DIAMETER/COLOR each come out as the theme reads. That order is the theme, which is why COLOR/SIZE and SIZE/COLOR are two different themes and switch in two different orders. The spellings Amazon has retired are read as the attribute they always were, so COLOR_NAME switches Colour, SIZE_NAME switches Size, MATERIAL_TYPE switches Material, and a theme carrying one still works even though Amazon marks it deprecated for new listings. Longer tokens are matched before their parts, so ITEM_SHAPE is never mistaken for Shape alone and ITEM_DIAMETER_STRING/NUMBER_OF_ITEMS reads as Diameter then Number of Items rather than picking Diameter twice. A theme written out by hand as Size, Style or Size-Style, or run together as SizeColor, is read the same way.

A dimension can only be drawn where the sheet carries a column for it. Where the theme names one it does not, the dropdowns it can draw are drawn and the rest are named underneath, so a COLOR/SET_NAME family in a sheet with no Set Name column reports exactly that rather than passing itself off as a Colour family. Pointing the missing one at a column under Column mapping in Settings, or adding the column to the sheet, resolves it. A count is the one case that answers itself: Number of Items, Number of Pieces, and Item Package Quantity are one figure written three ways, so a NUMBER_OF_ITEMS theme in a sheet carrying only Number of Pieces reads that column and the note under the dropdowns names which one it read. Nothing else stands in for anything, since a Size borrowed for a Diameter or a Style for a Colour would be a guess rather than the same figure under another name. Below the dropdowns the theme is named alongside the row's Product Type, where the sheet carries that column, and nothing is judged against it: Amazon publishes a different list of accepted themes for every product type and revises those lists, so a copy of one written into this page would go stale without saying so. What it reports is the pairing, which is what to check against the current product type definition. An empty theme falls back to whichever attribute a family is actually built on: Size, Colour, Style, Material, Shape, Diameter, Number of Items, Set Name, Collection Item, Occasion, Pattern, Flavour, Scent, Team Name, or Item Package Quantity, whichever of them differ across the family. The item's own measurements are left out of that fallback on purpose, since a length or a weight differing between siblings is usually just them being different products rather than the axis a shopper switches on.

Below the dropdowns, the variation family block shows Parentage Level, Parent SKU, and Variation Theme Name. Amazon needs all three: some filled and some empty is an error, none filled only an advisory, and another channel's variant group identifier standing alone is called out directly. Relationship Type is no longer part of that set. Amazon retired the column, so it is neither expected nor counted against the family, and it appears in the block only where an older sheet both carries the column and has something in it. Those values and the backend search terms are set in italics, since no shopper sees them. Settings can also fall back to Size, Style, or Color in a chosen order when Variation Theme Name is blank, and the label then names the column that supplied the value. That setting decides the label on the preview; which dropdowns get drawn is decided by the theme, or where there is none, by what actually differs across the family.

Every column filled in is where the family checks start rather than where they end, since a family wired correctly can still fail to build. Three faults are reported under the switcher and again in the issue list, and a Flag variation family faults setting in Settings turns them off along with the completeness check. Children of one Parent SKU carrying two different themes is the first: Amazon builds one family from one theme, and a family holding two leaves the dropdowns changing shape while stepping through it, since they follow whichever row is on screen. A child with the cell simply left blank is not a second theme but a hole, and it is reported against the row that owns it rather than against every one of its siblings. A child left empty on the dimension its own family switches on is the second, which leaves it with nothing for a shopper to select it by. Two children reading identically on every dimension drawn is the third. What counts is the combination and never any single attribute in it: two children may share a Size for as long as something else the theme names parts them, which is why a SIZE/STYLE_NAME family holding an 8 inch Solid Bottom and an 8 inch Removable Bottom is in order and nothing is said about it. The fault is everything the theme switches on reading the same, so Amazon sees one combination twice and the switcher can only ever reach the first of them. The message names the theme for that reason, since an attribute the sheet holds but the theme does not name has no part in the combination however different it is. Where such an attribute would have told the whole group apart it is named as something to add to the theme, which is the case with a family themed SIZE alone whose children are really separated by Style.

The product details table is built from up to twenty two attribute columns, each name in bold beside its value, with value and unit joined into one readable line. Attributes that are mapped but empty read as not set, which is how a gap in the spec table becomes visible. Backend search terms get their own section, capped at 250 bytes rather than characters, so an accented letter or a curly quote costs more than its length suggests; words already in the title are reported, since Amazon indexes the title anyway.

A Settings toggle makes the preview writable: the title, the highlights line, any bullet, the description, or the search terms can be edited in place and confirmed or abandoned without touching the spreadsheet. The counts, bands, checks, issue list, and SKU list all judge the edited draft rather than the original cell. Nothing is written back to the spreadsheet, drafts live in the browser only, and a copy control beside a changed value is how the new wording travels back into Excel. A discard-all control sits by Reset and appears only when there is something to discard.

Every problem is collected under Issues Found, below Settings, prefixed with its cell address and mirrored into a plain text report. The report names itself, the file and worksheet it came from, and the time it was taken, then tallies errors against advisories before a tab separated list that keeps its columns when pasted into a spreadsheet. Audit every SKU runs the same checks across the whole sheet at once, which is the fastest way to find the few rows needing attention in a catalogue of several hundred. Its tally line also counts the pictures: every image reference in the sheet, repeats included, and how many unique file names those references amount to. The two are worth reading together, since a catalogue where the second number is far below the first is one where the same photograph is doing duty across many listings. Distinctness is by file name rather than by address, so one picture counts once whether it arrives resized, signed, or from a second CDN. Under that sits a roll-up of the variation themes in use, each with the product type it is filed under and how many rows carry it. Both the report and the whole catalogue list keep company with the SKU picker: they appear once a sheet is loaded and there is something to audit, and go away again on a reset, since a heading offering a report is worth nothing with no sheet to write one from. Where row filters are running, every one of these figures covers the rows that are shown rather than the whole sheet, and the report header names the rules and the count so the reader of a pasted report knows which it is.

Issues across every SKU, folded shut between the issue list and the report, is that same audit turned into something to read rather than paste: every SKU with its errors and advisories in full, and the clean rows listed saying no issues, so a row absent from the problems is distinguishable from one that was never checked. It is audited only when opened and costs nothing while shut, then keeps itself current as the sheet reloads or drafts change. It carries the same image counts and theme roll-up in its heading, the roll-up drawn at the six commonest pairings with the rest one step away under the count, and given in full in the report either way, a pasted report having no such steps in it. A filter narrows it to errors or advisories alone, a search box beside it filters by SKU, cell, field, or the wording of the issue itself, and a checkbox drops the clean rows when unticked. Selecting any SKU opens it in the preview. The filters shape that list alone; the plain text report is built the same way regardless.

Grouped by issue is the same audit counted the other way round, for deciding what to fix first rather than working a listing at a time. Each line is one fault with the number of issues it accounts for, the number of SKUs they fall on, the fields involved, and the SKUs themselves to open, twelve of them at a time with the rest one step away under the count. What is opened stays open through a filter change or a fresh sweep, so a long list does not fold itself shut partway down it. Errors lead advisories as they do everywhere in this tool, and the commonest leads inside each band: one fault standing against four hundred rows earns an afternoon in a way that four faults standing against one row each do not. Two rows never word the same fault identically, each naming its own figures, its own quoted phrase, its own siblings, so those are taken out to decide what counts as one fault, and a catalogue reporting two thousand issues usually turns out to be reporting two dozen. The wording shown under a group is one row's own and the figures inside it differ from row to row, which is why the SKUs are there to open. Clean SKUs have no place in this view, having no fault to be grouped under, so the checkbox that includes them is put away while it is on.

Anyone who writes or approves Amazon listing content in a spreadsheet is working blind until the page goes live. Seeing the row rendered as a page catches the things a column of text hides: a title that reads well in a cell but wraps badly beside the image, a bullet that runs four lines longer than its neighbours, a missing secondary image, a phrase that will get the listing suppressed.

  • Pre-publish quality check: All forty SKUs of a new range, stepped through before the flat file uploads, confirm each has a main image, six images in all, five bullets of similar length, and a title inside the 75 character cap.
  • Checking the images without opening every link: A cell holds an address, not a picture, so verifying an import by hand means copying or clicking through each link in turn to find out what is on the end of it. Every image for a SKU is drawn here at once, main image first, with the column, the cell, and the URL named on hover, and the arrow keys carry that across hundreds of rows, so a wrong colourway, the same photo used twice, a placeholder nobody swapped out, or a link that no longer loads is caught by eye instead of one browser tab at a time.
  • Compliance review: The breaks that get listings suppressed rather than merely ranked poorly surface directly: prohibited symbols such as exclamation marks and dollar signs, all-capital titles, promotional claims like free shipping or best seller, restricted FSA and HSA wording, and unsubstantiated references to the FDA or EPA.
  • Keyword stuffing check: The word repetition rule flags any word used more than twice in a title, with prepositions, articles, and conjunctions exempt, so a title reading stainless steel steel tool is caught before Amazon rejects it.
  • Copywriter handoff: A writer editing the sheet in Excel on one screen with the preview open on the other sees each save redraw the page within about two seconds, turning listing copy into something tuned by eye instead of by character count alone.
  • Shared sheet, several editors: A Google Sheet a team already works in redraws the preview as colleagues type, with no file to send and nothing to re-import; anyone holding the link opens the same preview on their own machine.
  • Agency and client sign off: Audit every SKU produces a plain text report that gives a client a single list of exactly which cells need changing, each identified by address rather than by description.
  • Mobile truncation review: Most Amazon traffic is mobile, where long titles suffer most. The mobile and search result modes show where a title gives out, which is usually well before the 75 character limit.
  • Variation family review: A colour or size family cycled through with the arrow keys confirms the variation attribute is populated on every child and that the images differ where they should.
  • Catalogue audit of inherited listings: An existing catalogue exported from Seller Central and audited SKU by SKU surfaces legacy rows carrying banned phrases or over-length titles left over from before the current guidelines.
  • Reviewing the live range out of a master sheet: A master sheet holds everything ever sold, and a review of it wastes most of its time on rows that will never go live again. One row filter reading Discontinued? contains Active, or Status is one of Active, Pending, cuts the catalogue to the lines under review, and the audit, the report, and the arrow keys all follow it, so the error count is a count of errors that matter rather than a count including two hundred dead SKUs.
  • Splitting one export by channel or brand: A supplier or agency sheet covering several brands, marketplaces, or product types is worked one slice at a time by pointing a rule at that column, sending the client a report covering their rows alone without cutting the sheet into copies that then have to be kept in step.
Inputs, outputs, and what the Amazon Listing Preview Tool computes

What the Amazon Listing Preview Tool asks for and what it returns, as a plain list. Defaults, units, and ranges are the ones the form loads with.

Inputs

  • Google Sheet link or ID (text input)
  • Search SKU, ASIN, UPC, or title (text input)
  • SKU
  • sheet row (numeric input)
  • Desktop product page / Mobile product page / Search result · default: Desktop product page
  • Hide the rows these rules do not keep · default: off
  • Keep a row when · default: every rule matches
  • Match case · default: off
  • Separator · default: Auto
  • Fall back to another attribute when Variation Theme Name is empty · default: off
  • Fallback order · default: Size, then Style, then Color
  • Title limit (numeric input) · default: 75 · range: 1 to 500
  • Bullet limit (each) (numeric input) · default: 500 · range: 1 to 5000
  • Item highlight limit (each) (numeric input) · default: 100 · range: 1 to 1000
  • Description limit (numeric input) · default: 2000 · range: 1 to 50000
  • Backend search terms limit (bytes) (numeric input) · default: 250 · range: 1 to 5000
  • Search result title cut (characters) (numeric input) · default: 70 · range: 10 to 300
  • Flag Amazon compliance breaks · default: on
  • Flag length problems · default: on
  • Flag missing and broken images · default: on
  • Flag variation family faults · default: on
  • Show empty image slots and attributes so gaps are visible · default: on
  • Clicking an image copies · default: The image URL
  • Let me rewrite copy in the preview by double clicking it · default: off
  • Show · default: Errors and advisories
  • matching
  • grouped by · default: SKU
  • Include SKUs that have nothing to report · default: on
  • Copy this into an email or ticket

Controls

Clear search · Generate · Reset · Copy report

Example

It holds 14 invented listings across five variation families, with the images hosted alongside it so every picture loads.