I have to design a Stock-Keeping Unit (SKU) for my downloaded products and I am looking for any advice on how to choose a standard.

More specifically, I would like to know:

  • Are there any character limitations, or could I use unicode in my sku?
  • Could I use Linebreaks or Tabs in my sku?
  • Should I bother with bar codes on downloaded products?
  • Are bar codes outdated?
  • Are there performance considerations from a database standpoint if I were to choose a long sku as opposed to a short sku?
  • How Human Readable should I make my sku?
  • Is it better if it can be easily interpreted by a customer, or is that a security risk?
  • Are there any industry standards or common practices to abide by?
  • 2
    Many online stores have SKUs listed for every item so you can use them for reference. Based on that, many SKUs are usually comprised of numbers and maybe have uppercase letters at the beginning (usually denoting a category). I would shy away from overcomplicating it (unicode, linebreaks).
    – kmdreko
    Dec 15, 2016 at 21:51

1 Answer 1


Point by point:

  • If it makes business sense, stick to printable ASCII in your SKUs. Having a predefined character set (e.g. digits, letters, a limited set of punctuation) is a good idea. Allowing URL-sensitive characters like & or ? or + is likely not.
  • Line breaks and tabs are highly dubious; think about whitespace stripping and other normalizations before storing any values.
  • Bar codes (and other optical codes) are widely used.
  • Likely the SKU string should not be your PK; use an artificial integer PK. If anything, it gives you much smaller indexes, thus faster selects and joins.
  • Have a separate human-readable field, or several (name, note, etc).
  • SKU identifiers are first and foremost for you. Customers don't care and don't know them 99.9..% of time.

Also, consider the evolution of your data in time, and procedures associated to it. E.g. if you changed something about your particular product, is it a different SKU now? If it's not, how do you access the previous version?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.