Rich Pins are a type of Pinterest Pin that includes extra information on the Pin itself. This information is pulled from your website and is meant to give Pinners a richer experience and more context about your business right on Pinterest. There are currently four types of Rich Pins: product, recipe, article, and app. You can identify a Rich Pin by the small logo in the top-right corner of the Pin. Rich pins are a great way to get more information about a pin without clicking through to the source. They can also be a great way to entice people to click through to your website, as they provide more robust previews.
Example
For example, here’s what a recipe in a Rich Pin looks like. This Rich Pin includes the recipe name, author, prep time, and ingredients on the Pin itself.

Simplify Your Social Media Strategy.
With Social Champ, effortlessly apply the best practices you’ve just learned. Schedule posts, analyze performance, and engage with your audience—all in one place.
Free 14-Day Trial
<script>
document.addEventListener('DOMContentLoaded', function() {
function transformTablesForMobile() {
if (window.innerWidth > 767) return; // Only for mobile
const tables = document.querySelectorAll('#brxe-qvtevz table');
tables.forEach(table => {
if (table.classList.contains('transformed')) return;
let headers = [];
const thead = table.querySelector('thead');
const tbody = table.querySelector('tbody');
// Get headers - check for both th and td in thead
if (thead) {
const headerRow = thead.querySelector('tr');
if (headerRow) {
// First try th, then td
let headerCells = headerRow.querySelectorAll('th');
if (headerCells.length === 0) {
headerCells = headerRow.querySelectorAll('td');
}
headers = Array.from(headerCells).map(cell => cell.textContent.trim());
}
} else if (tbody) {
// If no thead, take first row
const firstRow = tbody.querySelector('tr');
if (firstRow) {
let headerCells = firstRow.querySelectorAll('th');
if (headerCells.length === 0) {
headerCells = firstRow.querySelectorAll('td');
}
headers = Array.from(headerCells).map(cell => cell.textContent.trim());
}
}
// Return if no headers found
if (headers.length === 0) return;
// Get all data rows
const rows = Array.from(tbody.querySelectorAll('tr'));
const dataRows = rows; // All tbody rows are data rows when thead exists
// Create new structure
const newContainer = document.createElement('div');
newContainer.className = 'mobile-table-container';
// Create a section for each column
headers.forEach((header, colIndex) => {
const columnSection = document.createElement('div');
columnSection.className = 'mobile-column-section';
const columnHeader = document.createElement('div');
columnHeader.className = 'mobile-column-header';
columnHeader.innerHTML = header; // Use innerHTML to preserve formatting
columnSection.appendChild(columnHeader);
const columnList = document.createElement('div');
columnList.className = 'mobile-column-list';
dataRows.forEach(row => {
const cells = row.querySelectorAll('td');
if (cells[colIndex]) {
const item = document.createElement('div');
item.className = 'mobile-column-item';
item.innerHTML = cells[colIndex].innerHTML;
columnList.appendChild(item);
}
});
columnSection.appendChild(columnList);
newContainer.appendChild(columnSection);
});
table.style.display = 'none';
table.classList.add('transformed');
table.parentNode.insertBefore(newContainer, table.nextSibling);
});
}
transformTablesForMobile();
// Handle window resize
let resizeTimer;
window.addEventListener('resize', function() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
const containers = document.querySelectorAll('.mobile-table-container');
const tables = document.querySelectorAll('#brxe-qvtevz table.transformed');
if (window.innerWidth > 767) {
containers.forEach(c => c.style.display = 'none');
tables.forEach(t => t.style.display = 'table');
} else {
containers.forEach(c => c.style.display = 'block');
tables.forEach(t => t.style.display = 'none');
}
}, 250);
});
});
</script>/* Sticky header for tables WITH thead */
#brxe-qvtevz table thead {
background-color: #f0ebf8;
position: sticky;
top: 0;
z-index: 2;
}
#brxe-qvtevz table thead th {
background-color: #f0ebf8;
position: sticky;
top: 0;
}
/* Sticky header for tables WITHOUT thead (first row only) */
#brxe-qvtevz table:not(:has(thead)) tbody tr:first-child {
background-color: #f0ebf8;
position: sticky;
top: 0;
z-index: 2;
}
#brxe-qvtevz table:not(:has(thead)) tbody tr:first-child td,
#brxe-qvtevz table:not(:has(thead)) tbody tr:first-child th {
background-color: #f0ebf8;
position: sticky;
top: 0;
}
/* Mobile Column Layout */
@media (max-width: 767px) {
#brxe-qvtevz table{
max-height:2000px;
}
.mobile-table-container {
display: block;
margin: 20px 0;
border-radius: 12px;
overflow: hidden;
}
.mobile-column-section {
border: 1px solid #E0E0E0;
overflow: hidden;
background: white;
}
.mobile-column-header {
background-color: #E3DFF5;
padding: 15px;
font-weight: bold;
font-size: 16px;
color: #333;
}
.mobile-column-list {
padding: 0;
}
.mobile-column-item {
padding: 15px;
border-bottom: 1px solid #F0F0F0;
background: white;
font-size: 16px;
line-height: 1.6;
}
.mobile-column-item:last-child {
border-bottom: none;
}
.mobile-column-item:nth-child(odd) {
background-color: #F7F6FC;
}
.mobile-column-item:nth-child(even) {
background-color: #FAFAFA;
}
.mobile-column-item strong {
color: #333;
font-weight: 600;
}
}