Social Post Visualizer
Preview every post across Facebook, Instagram, LinkedIn, TikTok, and
YouTube Shorts β in every format (feed, reels, stories) β before
you publish. All brand data is loaded from a single JSON
pasted into the page content block.
Facebook
Instagram
LinkedIn
TikTok
Shorts
How to use
- The landing view is the archive grid β all posts as cards.
- Click any card to enter the single post view.
- Switch platform and format using the header tabs.
- Desktop: use the title bar arrows or
β β keys.
- Mobile: swipe left/right or use the footer arrows.
- Press
Esc to return to the grid.
Loading a new brand
To rebrand the entire tool for a new client: paste their full JSON
(brand + platforms + posts + ui + hashtags) into the
<pre id="psm-page-content-json"> block at the
top of Section 4. Nothing else to edit. No URLs. No config
changes. One paste, full rebrand.
Load priority (first match wins):
- Your local edits localStorage
- Inline PSM_POSTS variable (dev only)
- Page content pasted JSON β canonical
JSON schema
The root object can contain:
brand β name, tagline, logoUrl, websiteUrl, primaryColor, accentColor
platforms β per-platform handle, displayName, followers, enabled, verified
hashtags β array or { core: [] } appended to every post
posts β array of post objects (see below)
ui β toolName, defaultTheme, defaultPlatform, defaultFormat
wpUploadsBase β image base URL (eg. https://brand.com/wp-content/uploads/)
fbPostPreferredFormat / linkedinPostPreferredFormat
Minimum post object
id β unique number or string
title β display title
filename or images.square β default 1:1 image
Settings tabs
- Info β this page.
- Status β active data source, export, flush override.
- Platforms β enable/disable individual platforms.
- Upload β drop a full brand JSON to override.
- Paste β paste JSON directly.
- Edit β inline-edit individual posts.
Loadingβ¦
Load priority (first match wins):
1. Local edits localStorage
2. Inline PSM_POSTS
3. Page content pasted JSON
Feed Platforms
Short-Form Video
Disabled platforms are hidden from the tabs and skipped when rendering.
Platforms marked "Always On" in the brand JSON cannot be disabled.
Upload a full brand JSON file. Supports root-level
brand, platforms, hashtags,
ui, and posts keys β or just a plain
array of posts.
Paste a full brand JSON object or a bare posts array.