![Shopify table shortcode: [oo-table id=…] in HTML or a blog. Embed on, table enabled. Default PDPs still prefer blocks, not a description paste.](https://a.storyblok.com/f/293684/49b4bd2628/2026-10-04-shopify-table-shortcode-hero.png/m/)
The lookbook page is a stack of rich-text slices. There is no Add block on the slice where the men’s size chart should sit. The product template already has a Size chart block; this page does not. A Shopify table shortcode is `[oo-table id=…]` dropped into HTML or a blog body — the exception, not the default next to Add to cart.
Two days ago: theme app blocks. Yesterday: specs from product metafields. This article is only the shortcode: when it is allowed, what it needs, and why it does not belong in every product description.
The app is OO - Advanced Table Builder. Store listing handle: `tables-specs-comparisons`. Docs still say Tables, Specs & Comparisons in places.
Theme app blocks appear where the editor exposes Add block. Page builders, legacy rich text, and blog HTML often do not. Theme structure stays empty until you drag something — or until the embed can render a token in the markup.
Shopify has no table type. A raw `<table>` in the description is copy. It will not follow metafields. It will wrap badly on a phone. That is not a shortcode.
Auto-placement rules: size charts may render above Add to cart when no Size chart block is on the product template. Comparison may inject “Add to compare” under the price. Specs use the Product specs block only. There is no ATC auto-inject. Tabbed and Us vs Them: the matching block *or* a shortcode that names that table.
The full size HTML on every SKU. Fifty products, fifty copies. One cell change is an afternoon. A shortcode points at one table ID. Edit Structure once.
The same token on Default product “because it is one line”. The shortcode docs prefer theme blocks or auto-placement on standard product templates — easier to maintain. On `/products/runner` use the Size chart block, or auto above ATC. Do not bury `[oo-table]` under the fold in the body.
Embed off, shortcode on, blank page. Shortcodes need the embed. Blocks alone do not power shortcodes, the compare tray, Compare auto-inject, or size-chart auto-placement. Enable the app embed: Theme settings → App embeds → Tables, Specs & Comparisons → Save.
Typing an ID before the table exists. Copy the shortcode from Settings *after* save. `[oo-table id=YOUR_TABLE_ID]` is the pattern, not a literal placeholder to leave in production.
None of that replaces: a block where Customize has Add block; a shortcode where it does not.
OO - Advanced Table Builder is Free. Listing 5.0 from 1 review. Size charts, specs, comparison, tabbed, Us vs Them. Works with AI, Excel, Google Sheets. CTA stays that listing.
From the shortcode article:
``` [oo-table id=YOUR_TABLE_ID] ```
Copy it from the table’s Settings step after the table is saved (it needs a real ID).
Requirements:
App embed Tables, Specs & Comparisons enabled
Table saved and enabled for the storefront
Use it for:
custom page builders / HTML sections
blog posts or pages where app blocks are awkward
one-off placements not tied to product visibility rules
That last point is the split. Visibility picks which size chart belongs on which product. A shortcode pins *this* table to *this* URL. Right for `/pages/mens-size-guide`. Wrong if every SKU needs a different chart and you would rather not maintain fifty tokens.
Tabbed and Us vs Them blocks ask you to pick the table. Empty pick, empty block. The shortcode is the other way to name that table — on a surface with no block picker.
You have a Size chart “Men / EU–UK–US” and a Tabbed table “Care / Shipping”. They should not sit on every product. They should sit on `/pages/size-and-care`.
Build both tables, review Structure, Enabled.
Turn the embed on if it is still off.
Copy each shortcode from Settings.
On the page: HTML or rich text. Size-chart shortcode first, Tabbed below. Leave the runner PDP on blocks.
Save, hard refresh, private window.
The runner PDP keeps a Size chart block by the price and a Specs block (no auto-inject). Shortcodes there are duplicate work.
Collection compare still wants the Compare block or the price inject, plus the embed for the tray. A comparison shortcode in a “how to choose a size” blog is fine; there is no tray if the embed is off.
Do not pitch another Online Origins app. CTA stays `tables-specs-comparisons`.
Install OO - Advanced Table Builder. Free.
Enable the embed. No embed, no shortcode.
Save the table, set Enabled, copy `[oo-table id=…]` from Settings.
Paste it where Add block does not exist.
Default product template: block or auto-placement, not a description shortcode.
Generate with AI (description or screenshot, PNG/JPEG/WebP/GIF up to 4 MB) can draft the table; you still review Structure. The shortcode only places what you saved.
A Shopify table shortcode is `[oo-table id=…]` in rich text or HTML, embed on, table enabled. It is for pages, blogs, and builders where the theme block will not sit. On the default PDP, blocks — and for size charts, auto-placement — stay the main path. Specs never auto-inject above Add to cart.
Paste the shortcode from OO - Advanced Table Builder on the page that has no Add block, and leave the product template alone.

Custom webshops, websites, and applications combined with smart online marketing to help your business grow online!
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins