What Is a SKU?

A SKU (stock keeping unit) is a short alphanumeric code a business assigns to a single product variant so it can be tracked in inventory, point-of-sale, and shipping systems. Unlike a UPC or barcode, a SKU is internal: you define the format, and it can encode meaning like category, product name, and variant attribute (size, color) directly in the string. A typical SKU looks something like SHI-TSH-BLU-001, where each segment maps to something a warehouse or spreadsheet can read at a glance. Retailers, dropshippers, and small manufacturers use SKUs to avoid mixing up near-identical products, reconcile stock counts, and speed up order picking. Getting the format right before you have thousands of live listings matters, because renaming SKUs after they're printed on labels or entered into other software is expensive to undo.

How the SKU Generator Works

The SKU Generator runs entirely in your browser: no files upload and nothing is sent to a server. You set a few options once (an optional prefix, a separator character like a hyphen or slash, a per-segment character length, and whether letters are forced uppercase), then add rows for each product with a name, category, and attribute. The tool sanitizes each field down to letters and digits, truncates it to your chosen segment length, and joins the pieces with your separator to build one SKU per row. Turn on sequence numbering to append a zero-padded counter to every code, useful when two products would otherwise generate an identical base SKU. When you're done, export the whole batch as a CSV you can drop straight into a spreadsheet or inventory system.

Choosing a SKU Naming Convention

A good SKU convention balances two things: short enough to read and type without errors, and structured enough that someone can decode it without looking anything up. A common pattern is category, then product identifier, then variant attribute, in that order, since category is the broadest grouping and attribute is the most specific. Keep segment length consistent across your whole catalog (3-4 characters per segment is typical) so every SKU is the same predictable width. Avoid encoding information that changes, like price or supplier, since a SKU is meant to be permanent once assigned. If you sell across multiple sales channels, decide up front whether your SKU also needs to match or map to a separate marketplace-assigned identifier, and document the convention somewhere your team can reference it later.

Why Sequence Numbers Don't Shift When You Delete a Row

If you turn on sequence numbering, each row's number is assigned once, based on the order it was first added to the table, not its current position. This is a deliberate choice: if sequence numbers instead tracked row position, deleting an earlier row would silently renumber every row after it, which would change SKUs that had already been generated, exported to a CSV, printed on labels, or typed into inventory software. By tying the number to stable creation order instead, deleting or reordering rows never changes a SKU you've already used elsewhere. Practically, this means you can safely remove a discontinued product from your working list without worrying that the rest of your catalog's SKUs will shift underneath you.

How Duplicate SKUs Are Prevented

Two rows with similar names, categories, and attributes can easily generate the same base SKU once everything is truncated to a fixed segment length. When that happens, the generator appends a numeric suffix to the colliding code, so a second match becomes something like SHI-TSH-BLU-2. The check runs against every SKU the batch has actually produced so far, not just against other rows' un-suffixed base codes. That distinction matters: a later row's own natural code can collide with an earlier row's already-suffixed output, and checking bases alone would miss that case and let a real duplicate through. In practice this means you can trust that no two rows in an exported batch ever share an identical SKU, even in larger catalogs where collisions are more likely.

How Long Should a SKU Be?

Most practical SKUs run 8 to 16 characters total across all segments, long enough to encode category, product, and variant without becoming hard to scan or type by hand. Shorter codes are easier to read on a small label or handheld scanner screen, but too short and unrelated products start colliding into the same truncated segments. The generator's segment length setting controls this directly: a shorter length per segment keeps the overall code compact, while a longer one preserves more of each product's original name. There's no universal correct number, but consistency matters more than any specific length. Pick a segment length that fits your product range and label size, then keep it fixed so every SKU in your catalog is the same predictable shape.

Exporting and Using Your SKUs

Once your batch looks right, export it as a CSV with product name, category, attribute, and the generated SKU in each row. That file drops directly into a spreadsheet, an inventory system, or an e-commerce platform's bulk product importer. SKUs are also what a shipping label typically references alongside the product name, so a batch generated here can feed straight into a shipping label workflow once products start shipping. If you also need scannable codes on packaging or shelf labels, a SKU string can be encoded into a QR code for fast lookup at the point of pick or sale. Because generation happens entirely in the browser, you can regenerate or adjust the batch as many times as you need before exporting, with nothing saved or uploaded until you choose to download the CSV.