mirror of
https://github.com/screentinker/screentinker.git
synced 2026-08-13 13:53:12 -06:00
feat(seo): IndexNow + landing-page optimization (schema, FAQ, CWV, content) (#177)
* feat(seo): enable IndexNow (key file + submission script) Instant re-crawl pings to Bing/Yandex/Seznam/Naver on content changes (Google ignores IndexNow but uses the same sitemap). Hosts the ownership key at frontend/<key>.txt (served at https://screentinker.com/<key>.txt) and adds scripts/indexnow-submit.sh which POSTs the sitemap URLs to api.indexnow.org (DRY_RUN=1 to preview). Run after a content deploy / from CI. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(seo): landing-page optimization pass (schema fixes, FAQ, content depth, CWV) From a 3-way SEO audit (technical / structured-data / content). Highest-value fixes: Structured data (penalty risk + rich results): - REMOVE the fabricated aggregateRating (4.8/50) from SoftwareApplication — no visible reviews on the page = a "spammy structured markup" risk. Replace loose Offers with a proper AggregateOffer + publisher + image/screenshot. - Add a VISIBLE FAQ section (10 Q&As) so the FAQPage schema finally has on-page content (it shipped 4 Q&As with no visible counterpart — a mismatch); expand the FAQPage JSON-LD to mirror all 10. - Add a WebSite entity block; add YouTube to Organization sameAs + a description. - Fix the guides/compare BreadcrumbList position-2 target (dead /#features -> /). Content / keywords / IA: - Hero + Features subtitle rewritten to surface "digital signage software" / "digital signage CMS" / "self-host" / "free" above the fold. - New "How It Works" (3-step) and "Use Cases / Industries" (8 verticals) sections for snippet + long-tail intent. Platform tiles (Android TV / Fire TV / Raspberry Pi) now link to their guides. - FAQ answers add keyword-rich internal links to the guides + compare pages. Technical / Core Web Vitals: - Lazy-load the YouTube iframe (loading=lazy + youtube-nocookie + explicit width/height) — the top LCP/TBT win on mobile. - Title 84->~60 chars (keyword-front), meta description ~178->~156 + CTA. - <div> footer -> <footer> landmark; favicon sizes (192+512). - sitemap.xml: add <lastmod> to all 10 URLs. All JSON-LD validated (4 blocks parse; single H1; no fabricated data). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(seo): open-source/what-is pillars, Xibo+Anthias compares, integrations hub [#177] Competitor-SEO gap-fill from the Yodeck/ScreenCloud/OptiSigns/Xibo teardowns. 11 new static pages + sitemap/landing/README wiring. All match the existing seo-page.css template; BreadcrumbList on every page, FAQPage (visible-backed) on guides + integration spokes. No fabricated ratings. Pillar guides: - guides/open-source-digital-signage.html (head term "open source digital signage") - guides/what-is-digital-signage.html (TOFU definitional pillar + FAQ) Comparisons (the open-source SERP Xibo/Anthias own): - compare/xibo-alternative.html (wedge: every ScreenTinker player free vs Xibo's paid Android/Tizen/webOS licences; no free plan) - compare/anthias-alternative.html (wedge: fleet + video walls + multi-platform vs one-Pi-one-screen) Integrations (OptiSigns' top tactic — one page per app): - integrations/index.html hub - google-slides / canva / power-bi (honestly framed as the universal Webpage widget, with the X-Frame-Options / publish-vs-edit-URL caveat + Power BI public-data warning) - youtube / rss / weather (native widgets) Wiring: - sitemap.xml +11 URLs (lastmod 2026-07-13) - landing.html Resources grid: 6 new cards (open-source, what-is, vs Xibo, vs Anthias, integrations hub) - README.md: keyword-rich open-source/self-hosted intro + platform list + guide links (GitHub-SERP asset) - docs/seo-directory-listings.md: off-repo G2/Capterra/AlternativeTo/awesome-selfhosted/fingoweb submission checklist + reusable kit Validated: all JSON-LD parses, canonicals match paths, 0 broken internal links, sitemap well-formed (21 URLs). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
12c0004245
commit
2dc1d1279a
|
|
@ -1,8 +1,13 @@
|
|||
# ScreenTinker
|
||||
# ScreenTinker — Open-Source, Self-Hosted Digital Signage Software
|
||||
|
||||
ScreenTinker is self-hosted digital signage software. Manage screens across multiple locations from one dashboard — built for retail, offices, lobbies, and any environment where you need centralized control over what's displayed on remote screens. Open source, multi-tenant, single-developer maintained with direct contact access.
|
||||
ScreenTinker is a free, open-source **digital signage CMS** you can self-host on your own server — or run in our managed cloud. Manage TVs, video walls, and kiosks across multiple locations from one dashboard, with remote control, scheduling, playlists, and analytics. Built for retail, QSR menu boards, offices, lobbies, education, and any environment where you need centralized control over remote screens. Multi-tenant, MIT-licensed, single-developer maintained with direct contact access.
|
||||
|
||||
**Runs on any screen** — Android TV, Fire TV, Samsung Tizen, LG webOS, Amazon Vega OS, Raspberry Pi, Windows, ChromeOS, or any web browser. No per-device player licence, no hardware lock-in.
|
||||
|
||||
**Why self-host?** Keep your content and data on your own infrastructure, avoid per-screen SaaS fees, run air-gapped on a private LAN, and read or fork the source. Set `SELF_HOSTED=true` and a $5 VPS drives hundreds of screens.
|
||||
|
||||
**Hosted version:** [screentinker.com](https://screentinker.com) — free tier available, no credit card required.
|
||||
**Guides:** [What is digital signage?](https://screentinker.com/guides/what-is-digital-signage.html) · [Open-source digital signage](https://screentinker.com/guides/open-source-digital-signage.html) · [Self-hosting guide](https://screentinker.com/guides/self-hosted-digital-signage.html)
|
||||
**Community:** [Discord](https://discord.gg/utTdsrqq4Z)
|
||||
|
||||
## Features
|
||||
|
|
|
|||
53
docs/seo-directory-listings.md
Normal file
53
docs/seo-directory-listings.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# SEO: Off-Site Listings & Backlink Checklist
|
||||
|
||||
These are the **off-repo** SEO actions that can't be done in code — they need an account, a
|
||||
form submission, or outreach. Every serious competitor (Yodeck, ScreenCloud, OptiSigns, Xibo,
|
||||
Anthias) is listed across these; ScreenTinker currently is not. Each listing is both a
|
||||
high-authority backlink and a surface that ranks for "best/free/open-source/alternative"
|
||||
queries. Ordered by ROI.
|
||||
|
||||
## Reusable submission kit (prepare once, paste everywhere)
|
||||
|
||||
- **Name:** ScreenTinker
|
||||
- **Category:** Digital Signage Software / Digital Signage CMS
|
||||
- **One-liner:** Free, open-source, self-hostable digital signage CMS. Runs on any screen — Android TV, Fire TV, Tizen, webOS, Raspberry Pi, Windows, browser — with no per-device player licence.
|
||||
- **Short desc (≈50 words):** ScreenTinker is an open-source (MIT) digital signage platform you can self-host or run in the cloud. Manage TVs, video walls, and kiosks from one dashboard with remote control, scheduling, playlists, multi-zone layouts, and analytics. Free plan; Pro from $39–99/mo; unlimited free when self-hosted.
|
||||
- **Pricing:** Free (1 device) · Starter $39/mo (5) · Pro $99/mo (15) · Self-hosted free/unlimited
|
||||
- **Deployment:** Cloud (SaaS) + On-premise / Self-hosted
|
||||
- **Platforms:** Android TV, Fire TV, Samsung Tizen, LG webOS, Amazon Vega OS, Raspberry Pi, Windows, ChromeOS, Web
|
||||
- **License:** MIT (open source)
|
||||
- **Website:** https://screentinker.com
|
||||
- **Repo:** https://github.com/screentinker/screentinker
|
||||
- **Logo / screenshots:** dashboard-preview.png + assets/icon-512.png (grab 3–4 dashboard shots)
|
||||
- **Differentiators to emphasize:** open source, self-host/air-gapped, no per-screen fee, all players free, live Android remote control.
|
||||
|
||||
## Tier 1 — highest ROI (do first)
|
||||
|
||||
- [ ] **Capterra** — https://www.capterra.com/vendors/sign-up · digital-signage category. The #1 review moat competitors have (Yodeck 4,700+ reviews). Claim/create the profile, then seed honest reviews from real users.
|
||||
- [ ] **G2** — https://www.g2.com/products/new · ranks for "[competitor] alternatives". Create the product, request reviews.
|
||||
- [ ] **AlternativeTo** — https://alternativeto.net/manage-item/ · submit ScreenTinker as an alternative to **Yodeck, ScreenCloud, OptiSigns, Xibo, Anthias/Screenly**. Tag: open source, self-hosted, free. This is where OSS-seekers browse.
|
||||
- [ ] **awesome-selfhosted** — PR to https://github.com/awesome-selfhosted/awesome-selfhosted (Digital Signage / Media section). High-authority, high-intent backlink; Anthias/Xibo are there.
|
||||
- [ ] **fingoweb "Top open source digital signage" roundup** — pitch inclusion via their contact form (their article ranks #1 for several OSS queries and omits us). Highest-value single listicle.
|
||||
|
||||
## Tier 2 — directory saturation
|
||||
|
||||
- [ ] **SourceForge** — https://sourceforge.net/create/ (OSS directory, ranks for "open source digital signage").
|
||||
- [ ] **GetApp** — https://www.getapp.com/ (Gartner network; often auto-generates "vs" pages).
|
||||
- [ ] **Software Advice** — https://www.softwareadvice.com/ (Gartner network).
|
||||
- [ ] **GoodFirms** — https://www.goodfirms.co/ (their "Top Free & Open Source" roundup ranks).
|
||||
- [ ] **SoftwareSuggest / SaaSHub / Slashdot** — quick profile submissions.
|
||||
- [ ] **Product Hunt** — a launch post (one-time spike + durable backlink).
|
||||
|
||||
## Tier 3 — community / organic signals
|
||||
|
||||
- [ ] **r/selfhosted** — a genuine "I built/self-host this" post (Anthias gets real traffic here). No spam; lead with the self-host story.
|
||||
- [ ] **r/digitalsignage** — participate, link where relevant.
|
||||
- [ ] **Hacker News (Show HN)** — "Show HN: ScreenTinker – open-source self-hosted digital signage."
|
||||
- [ ] **GitHub repo polish** — topics/tags: `digital-signage`, `signage`, `self-hosted`, `open-source`, `cms`, `raspberry-pi`, `kiosk`, `android-tv`. Keyword-rich description + README (done). Stars are themselves a ranking signal (Anthias ranks partly because its repo does).
|
||||
- [ ] **Roundup outreach** — signagespace.com, cenareo, nento, digitalsignagehub.org, softwaresuggest "15 best" — ask to be added.
|
||||
|
||||
## Notes
|
||||
|
||||
- **Do NOT fabricate reviews or ratings** — seed real ones from actual users only. Fake aggregateRating is a Google penalty risk (we already removed a fabricated one from the landing page).
|
||||
- Reuse the exact same name/desc/logo everywhere for entity consistency (helps Google's Knowledge Graph).
|
||||
- Re-run `scripts/indexnow-submit.sh` after the new pages deploy to prod so Bing/Yandex re-crawl immediately.
|
||||
1
frontend/41498e6c84045d9d187f4504c122e54f.txt
Normal file
1
frontend/41498e6c84045d9d187f4504c122e54f.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
41498e6c84045d9d187f4504c122e54f
|
||||
156
frontend/compare/anthias-alternative.html
Normal file
156
frontend/compare/anthias-alternative.html
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Best Anthias Alternative (2026): ScreenTinker vs Anthias | ScreenTinker</title>
|
||||
<meta name="description" content="Looking for an Anthias (Screenly OSE) alternative? ScreenTinker is also free, open source, and self-hostable - but adds a modern web dashboard, multi-device fleet management, video walls, and players beyond the Raspberry Pi.">
|
||||
<meta name="keywords" content="anthias alternative, screenly ose alternative, open source digital signage, self hosted digital signage, digital signage cms">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/compare/anthias-alternative.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/compare/anthias-alternative.html">
|
||||
<meta property="og:title" content="Best Anthias Alternative (2026): ScreenTinker vs Anthias | ScreenTinker">
|
||||
<meta property="og:description" content="ScreenTinker vs Anthias. Also free and open source, but with fleet management, video walls, and players beyond the Raspberry Pi.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Best Anthias Alternative (2026): ScreenTinker vs Anthias">
|
||||
<meta name="twitter:description" content="ScreenTinker vs Anthias. Also free and open source, but with fleet management, video walls, and players beyond the Raspberry Pi.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/#compare">Compare</a>
|
||||
<span>/</span>
|
||||
<span>Anthias Alternative</span>
|
||||
</nav>
|
||||
|
||||
<h1>Best Anthias Alternative (2026): ScreenTinker vs Anthias</h1>
|
||||
<p class="lead">Anthias (formerly Screenly OSE) is a beloved free, open-source signage project for the Raspberry Pi. But it is built around one Pi driving one screen. Here is an honest comparison with ScreenTinker for anyone who needs to manage more than a single display.</p>
|
||||
|
||||
<h2>The short answer</h2>
|
||||
<p><strong>Anthias</strong> is free, open source, and has been active since 2012 with around 3,500 GitHub stars. It runs on the Raspberry Pi 2 through 5 and positions itself as "free digital signage for everyone - no subscriptions, no cloud lock-in." It is essentially one-Pi-one-screen: single-screen oriented, with no multi-tenant or team management and a thin widget ecosystem. (Screenly is the paid-cloud parent product.)</p>
|
||||
<p><strong>ScreenTinker</strong> is also free, open source (MIT), and self-hostable - but it adds a modern web dashboard, multi-device fleet management, video walls with multi-screen sync, group sync, scheduling and dayparting, players well beyond the Pi, and an optional managed cloud. It is the better fit the moment you go past a single screen.</p>
|
||||
|
||||
<h2>Quick comparison</h2>
|
||||
<div class="compare-table-wrap">
|
||||
<table class="compare-table">
|
||||
<thead>
|
||||
<tr><th>Feature</th><th>ScreenTinker</th><th>Anthias</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Open source</td><td class="yes">Yes (MIT)</td><td class="yes">Yes</td></tr>
|
||||
<tr><td>Free & self-hostable</td><td class="yes">Yes</td><td class="yes">Yes</td></tr>
|
||||
<tr><td>Raspberry Pi player</td><td class="yes">Free setup script</td><td class="yes">Yes (Pi 2-5)</td></tr>
|
||||
<tr><td>Runs beyond Raspberry Pi</td><td class="yes">Android, Tizen, webOS, Fire TV, Vega, web</td><td class="no">No (Pi only)</td></tr>
|
||||
<tr><td>Modern web dashboard</td><td class="yes">Yes</td><td class="partial">Basic device UI</td></tr>
|
||||
<tr><td>Multi-device fleet management</td><td class="yes">Yes</td><td class="partial">Limited (single-screen oriented)</td></tr>
|
||||
<tr><td>Multi-tenant / team management</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
||||
<tr><td>Video walls (multi-screen sync)</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
||||
<tr><td>Group sync</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
||||
<tr><td>Scheduling / dayparting</td><td class="yes">Yes</td><td class="partial">Basic</td></tr>
|
||||
<tr><td>Multi-zone layouts</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
||||
<tr><td>Widget ecosystem</td><td class="yes">YouTube, RSS, Weather, Webpage, more</td><td class="partial">Thin</td></tr>
|
||||
<tr><td>Live remote control*</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
||||
<tr><td>Optional managed cloud</td><td class="yes">Yes</td><td class="partial">Via Screenly (paid)</td></tr>
|
||||
<tr><td>Self-host cost</td><td>Free (your server)</td><td>Free (your Pi)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p style="font-size:12px;color:var(--dim);line-height:1.6;margin-top:12px">
|
||||
* Live remote control is Android only and requires granting the on-device accessibility permission.<br>
|
||||
Comparison as of July 2026, based on each project's publicly listed documentation and repositories. Spot an error? <a href="https://github.com/screentinker/screentinker/issues" target="_blank" rel="noopener">Open an issue on GitHub</a> and we'll fix it.
|
||||
</p>
|
||||
|
||||
<h2>Where Anthias does well</h2>
|
||||
<ul>
|
||||
<li><strong>Dead-simple single Pi setup.</strong> If you have one Raspberry Pi and one screen showing a rotating playlist, Anthias is lightweight and gets you there fast.</li>
|
||||
<li><strong>Genuinely free and open.</strong> No subscriptions, no cloud lock-in, active since 2012 with a large community (~3,500 GitHub stars).</li>
|
||||
<li><strong>Low footprint.</strong> Purpose-built for the Pi, so it runs well on modest hardware.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Where ScreenTinker is the better choice</h2>
|
||||
<ul>
|
||||
<li><strong>You have more than one screen.</strong> Anthias is single-screen oriented with no multi-tenant or team management. ScreenTinker is built around multi-device fleet management from the start.</li>
|
||||
<li><strong>You need video walls or synced screens.</strong> ScreenTinker does video walls with multi-screen sync and per-group synchronized playback. Anthias does not.</li>
|
||||
<li><strong>You run mixed hardware.</strong> Beyond the Pi, ScreenTinker has native players for Android TV, Fire TV, Samsung Tizen, LG webOS, Amazon Vega OS, and any web browser. Anthias is Raspberry Pi only.</li>
|
||||
<li><strong>You want real scheduling and widgets.</strong> Dayparting, content expiry, and native widgets (YouTube, RSS, Weather, Clock, plus a universal Webpage widget for any framable URL) go well past Anthias's basic scheduling and thin widget set.</li>
|
||||
<li><strong>You want the option of managed cloud later.</strong> Self-host for free now, and move to the managed cloud without changing products if you ever want hosting handled for you.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Pricing snapshot</h2>
|
||||
<p>Both Anthias and self-hosted ScreenTinker are <strong>free and open source</strong> - Anthias on your Raspberry Pi, ScreenTinker on a $5 VPS that comfortably runs hundreds of screens. The difference is not price but reach: ScreenTinker adds fleet management, video walls, group sync, and multi-platform players at the same free-and-self-hosted price point, plus an optional managed cloud (Free, Starter $39/mo, Pro $99/mo) if you would rather not run a server.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related guides</h2>
|
||||
<ul>
|
||||
<li><a href="/compare/xibo-alternative.html">Compare: ScreenTinker vs Xibo</a></li>
|
||||
<li><a href="/compare/yodeck-alternative.html">Compare: ScreenTinker vs Yodeck</a></li>
|
||||
<li><a href="/guides/raspberry-pi-digital-signage.html">How to set up digital signage on a Raspberry Pi</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
<li><a href="/guides/open-source-digital-signage.html">Open-source digital signage: complete guide</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Try ScreenTinker free</h2>
|
||||
<p>Start a 14-day Pro trial. No credit card required.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free Trial</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Compare", "item": "https://screentinker.com/#compare" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Anthias Alternative", "item": "https://screentinker.com/compare/anthias-alternative.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
157
frontend/compare/xibo-alternative.html
Normal file
157
frontend/compare/xibo-alternative.html
Normal file
|
|
@ -0,0 +1,157 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Best Xibo Alternative (2026): ScreenTinker vs Xibo | ScreenTinker</title>
|
||||
<meta name="description" content="Looking for a Xibo alternative? ScreenTinker is open source, MIT licensed, self-hostable, and every player (Android, Tizen, webOS, Fire TV, Pi, web) is free. Compare features, pricing, and platform support.">
|
||||
<meta name="keywords" content="xibo alternative, free xibo alternative, open source digital signage, self hosted digital signage, digital signage cms">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/compare/xibo-alternative.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/compare/xibo-alternative.html">
|
||||
<meta property="og:title" content="Best Xibo Alternative (2026): ScreenTinker vs Xibo | ScreenTinker">
|
||||
<meta property="og:description" content="ScreenTinker vs Xibo. Open source, self-hostable, and every player is free - no paid per-device licences.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Best Xibo Alternative (2026): ScreenTinker vs Xibo">
|
||||
<meta name="twitter:description" content="ScreenTinker vs Xibo. Open source, self-hostable, and every player is free - no paid per-device licences.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/#compare">Compare</a>
|
||||
<span>/</span>
|
||||
<span>Xibo Alternative</span>
|
||||
</nav>
|
||||
|
||||
<h1>Best Xibo Alternative (2026): ScreenTinker vs Xibo</h1>
|
||||
<p class="lead">Xibo is one of the oldest open-source digital signage projects. But its open-source edition ships only a Windows player - the Android, Samsung Tizen, and LG webOS players you probably want cost money. Here is an honest comparison with ScreenTinker.</p>
|
||||
|
||||
<h2>The short answer</h2>
|
||||
<p><strong>Xibo</strong> is a mature, well-documented signage platform that has been around since roughly 2010, with a strong community forum. Its CMS is open source under the AGPLv3 licence - but only the CMS and the Windows player are free. The Android, Tizen, and webOS players require paid perpetual per-device licences, and there is no free plan (the homepage funnels you into a 14-day trial and a paid cloud CMS).</p>
|
||||
<p><strong>ScreenTinker</strong> is open source (MIT licensed), self-hostable, and <em>every</em> player is free - Android TV, Fire TV, Samsung Tizen, LG webOS, Amazon Vega OS, Raspberry Pi, and any web browser. No per-device player licence, and there is a genuine free plan. It is the better fit if you want the mainstream players without buying licences, or you want a straightforward MIT codebase you can fork.</p>
|
||||
|
||||
<h2>Quick comparison</h2>
|
||||
<div class="compare-table-wrap">
|
||||
<table class="compare-table">
|
||||
<thead>
|
||||
<tr><th>Feature</th><th>ScreenTinker</th><th>Xibo</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Open source</td><td class="yes">Yes (MIT)</td><td class="yes">Yes (AGPLv3, CMS)</td></tr>
|
||||
<tr><td>Self-host option</td><td class="yes">Yes</td><td class="yes">Yes</td></tr>
|
||||
<tr><td>Free plan</td><td class="yes">1 device, 500MB</td><td class="no">No (14-day trial)</td></tr>
|
||||
<tr><td>Windows player</td><td class="yes">Yes (web player)</td><td class="yes">Yes (free)</td></tr>
|
||||
<tr><td>Android / Fire TV player</td><td class="yes">Free</td><td class="paid">Paid licence</td></tr>
|
||||
<tr><td>Samsung Tizen player</td><td class="yes">Free</td><td class="paid">Paid licence</td></tr>
|
||||
<tr><td>LG webOS player</td><td class="yes">Free</td><td class="paid">Paid licence</td></tr>
|
||||
<tr><td>Raspberry Pi</td><td class="yes">Free setup script</td><td class="partial">Community/unofficial</td></tr>
|
||||
<tr><td>Web browser player</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
||||
<tr><td>Video walls (multi-screen sync)</td><td class="yes">Yes</td><td class="yes">Yes</td></tr>
|
||||
<tr><td>Multi-zone layouts</td><td class="yes">Yes</td><td class="yes">Yes</td></tr>
|
||||
<tr><td>Scheduling / dayparting</td><td class="yes">Yes</td><td class="yes">Yes</td></tr>
|
||||
<tr><td>Live remote control*</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
||||
<tr><td>Managed cloud option</td><td class="yes">Yes</td><td class="yes">Yes (paid)</td></tr>
|
||||
<tr><td>Per-device player cost</td><td>Free (all players)</td><td>Paid on Android/Tizen/webOS</td></tr>
|
||||
<tr><td>Self-host cost</td><td>Free (your server)</td><td>Free CMS + paid player licences</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p style="font-size:12px;color:var(--dim);line-height:1.6;margin-top:12px">
|
||||
* Live remote control is Android only and requires granting the on-device accessibility permission.<br>
|
||||
Comparison as of July 2026, based on each vendor's publicly listed pricing and documentation. Spot an error? <a href="https://github.com/screentinker/screentinker/issues" target="_blank" rel="noopener">Open an issue on GitHub</a> and we'll fix it.
|
||||
</p>
|
||||
|
||||
<h2>Where Xibo does well</h2>
|
||||
<ul>
|
||||
<li><strong>Maturity.</strong> Xibo has been developed since around 2010 and is battle-tested in large deployments.</li>
|
||||
<li><strong>Community and docs.</strong> An active community forum and extensive documentation make it easy to find answers.</li>
|
||||
<li><strong>Windows-first deployments.</strong> If your fleet is Windows players, the free Windows player plus the free AGPLv3 CMS is a genuinely capable open-source stack.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Where ScreenTinker is the better choice</h2>
|
||||
<ul>
|
||||
<li><strong>Every player is free.</strong> The players most people actually deploy - Android TV, Fire TV, Samsung Tizen, LG webOS - all cost money on Xibo as paid perpetual per-device licences. On ScreenTinker they are free, with no per-device player fee.</li>
|
||||
<li><strong>There is a real free plan.</strong> Xibo funnels you into a 14-day trial and a paid cloud CMS. ScreenTinker has a genuine free tier (1 device, 500MB) and free unlimited self-hosting.</li>
|
||||
<li><strong>Broader player support out of the box.</strong> Amazon Vega OS, a first-class web player for any browser, and a free Raspberry Pi setup script - all included, no licence gate.</li>
|
||||
<li><strong>Live remote control.</strong> ScreenTinker streams a live view of an Android display and forwards taps and key events back to the device.</li>
|
||||
<li><strong>Simple MIT licence.</strong> ScreenTinker is MIT licensed on <a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a> - audit it, extend it, or fork it without AGPL copyleft obligations.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Pricing snapshot</h2>
|
||||
<p>Xibo's CMS is free and open source, but the Android, Tizen, and webOS players carry <strong>paid perpetual per-device licences</strong>, and Xibo explicitly frames self-hosting as "typically a higher total cost of ownership than a plan" to steer you toward its paid cloud CMS. ScreenTinker charges nothing per player on any platform: the managed cloud is a flat <strong>$99/mo for 15 devices</strong> on Pro, and self-hosting is free and unlimited on a $5 VPS.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related guides</h2>
|
||||
<ul>
|
||||
<li><a href="/compare/anthias-alternative.html">Compare: ScreenTinker vs Anthias</a></li>
|
||||
<li><a href="/compare/yodeck-alternative.html">Compare: ScreenTinker vs Yodeck</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
<li><a href="/guides/open-source-digital-signage.html">Open-source digital signage: complete guide</a></li>
|
||||
<li><a href="/guides/raspberry-pi-digital-signage.html">How to set up digital signage on a Raspberry Pi</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Try ScreenTinker free</h2>
|
||||
<p>Start a 14-day Pro trial. No credit card required.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free Trial</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Compare", "item": "https://screentinker.com/#compare" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Xibo Alternative", "item": "https://screentinker.com/compare/xibo-alternative.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -148,7 +148,7 @@
|
|||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://screentinker.com/#features" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Android TV and Fire TV Signage", "item": "https://screentinker.com/guides/digital-signage-android-tv.html" }
|
||||
]
|
||||
}
|
||||
|
|
|
|||
216
frontend/guides/open-source-digital-signage.html
Normal file
216
frontend/guides/open-source-digital-signage.html
Normal file
|
|
@ -0,0 +1,216 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Open Source Digital Signage Software - Free & Self-Hosted (2026) | ScreenTinker</title>
|
||||
<meta name="description" content="A guide to open source digital signage software. Own your data, pay no per-screen fees, and self-host or use the cloud. ScreenTinker is a free, MIT-licensed digital signage CMS.">
|
||||
<meta name="keywords" content="open source digital signage, open source digital signage software, open source digital signage cms, free digital signage software, self hosted digital signage, mit licensed signage">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/guides/open-source-digital-signage.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/guides/open-source-digital-signage.html">
|
||||
<meta property="og:title" content="Open Source Digital Signage Software - Free & Self-Hosted (2026)">
|
||||
<meta property="og:description" content="Own your data, pay no per-screen fees, self-host or use the cloud. ScreenTinker is a free, MIT-licensed digital signage CMS.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Open Source Digital Signage Software - Free & Self-Hosted (2026)">
|
||||
<meta name="twitter:description" content="Own your data, pay no per-screen fees, self-host or use the cloud. ScreenTinker is a free, MIT-licensed digital signage CMS.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/#features">Guides</a>
|
||||
<span>/</span>
|
||||
<span>Open Source Digital Signage</span>
|
||||
</nav>
|
||||
|
||||
<h1>Open Source Digital Signage Software: Free & Self-Hosted (2026)</h1>
|
||||
<p class="lead">Open source digital signage lets you own your content, skip per-screen subscription fees, and run your screens on your own terms. Here is what it means, why it matters, and how ScreenTinker fits in.</p>
|
||||
|
||||
<h2>What is open-source digital signage?</h2>
|
||||
<p>Open-source digital signage is signage software whose source code is publicly available under a permissive license, so anyone can inspect, run, modify, and redistribute it. Instead of renting access to a closed cloud platform, you get the actual application - the content management system (CMS) that schedules and pushes content, plus the players that run on your screens.</p>
|
||||
<p>ScreenTinker is an open-source digital signage CMS released under the <strong>MIT license</strong>. That license is about as permissive as it gets: you can audit the code, fork it, extend it, and deploy it commercially with no strings attached. You can run it as a managed cloud service or self-host it on a server you control - the same codebase either way.</p>
|
||||
|
||||
<h2>Why choose open source over cloud SaaS?</h2>
|
||||
<ul>
|
||||
<li><strong>Data ownership.</strong> With a self-hosted open-source deployment, your content, schedules, device list, and logs live on infrastructure you control - not in a vendor's cloud. For healthcare, finance, government, and education, that is often a hard requirement.</li>
|
||||
<li><strong>No per-screen fees.</strong> Closed SaaS products charge a recurring fee for every screen, typically $5-15/screen/month. Self-hosting ScreenTinker replaces that with a flat server cost - a $5 VPS can run hundreds of screens.</li>
|
||||
<li><strong>No vendor lock-in.</strong> If a cloud vendor raises prices, pivots, or shuts down, your deployment goes with it. With MIT-licensed source you own your copy and control your own roadmap.</li>
|
||||
<li><strong>Auditable and MIT-licensed.</strong> You can read every line, run a security review, and satisfy procurement teams that need to know exactly what runs on the network.</li>
|
||||
<li><strong>Self-host or cloud.</strong> Open source does not force you onto your own servers. Start on the hosted free plan to evaluate, then self-host when you are ready - or stay on the cloud if you prefer managed hosting.</li>
|
||||
</ul>
|
||||
|
||||
<h2>What ScreenTinker gives you</h2>
|
||||
<p>ScreenTinker is a full digital signage platform, not just a media player. Everything below is in the open-source project:</p>
|
||||
<ul>
|
||||
<li><strong>Content and scheduling:</strong> playlists, scheduling and dayparting, content expiry, and multi-zone layouts.</li>
|
||||
<li><strong>Multi-screen:</strong> video walls with multi-screen sync, group sync, kiosk mode, and offline-native playback that keeps running when the network drops.</li>
|
||||
<li><strong>Management:</strong> live remote control (Android players, with accessibility permission), auto-update/OTA, telemetry, a public API with scoped tokens, an agency portal, and white-label / reseller support.</li>
|
||||
<li><strong>Every player is free:</strong> Android TV / Fire TV (native APK), Samsung Tizen (.wgt), LG webOS, Amazon Vega OS, Raspberry Pi (free setup script), and Windows / ChromeOS / any browser via the web player.</li>
|
||||
<li><strong>Native widgets:</strong> YouTube, RSS, Weather, Clock, Text/HTML, Social, and a Directory-board. A universal <strong>Webpage</strong> widget embeds any framable public URL - published Google Slides, Canva, Power BI publish-to-web, and live dashboards.</li>
|
||||
<li><strong>Self-host switch:</strong> set <code>SELF_HOSTED=true</code> to unlock the enterprise plan, disable subscription and Stripe checks, and run unlimited devices for free.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Open source vs the paid SaaS incumbents</h2>
|
||||
<p>The dominant hosted products - Yodeck, ScreenCloud, OptiSigns - are closed, cloud-only, and billed per screen. Here is how an open-source CMS compares:</p>
|
||||
<div class="compare-table-wrap">
|
||||
<table class="compare-table">
|
||||
<thead>
|
||||
<tr><th>Concern</th><th>ScreenTinker (open source)</th><th>Cloud SaaS (Yodeck / ScreenCloud / OptiSigns)</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>License / source access</td><td class="yes">Open source (MIT)</td><td class="no">Closed / proprietary</td></tr>
|
||||
<tr><td>Per-screen monthly fee</td><td class="yes">None</td><td class="no">$5-15/screen/month</td></tr>
|
||||
<tr><td>Self-host on your own server</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
||||
<tr><td>Data location</td><td class="yes">Your server (or ST cloud)</td><td class="no">Vendor's cloud</td></tr>
|
||||
<tr><td>Air-gapped / offline LAN deployment</td><td class="yes">Possible</td><td class="no">Not possible</td></tr>
|
||||
<tr><td>Player apps included free</td><td class="yes">All platforms</td><td class="partial">Varies / add-on hardware</td></tr>
|
||||
<tr><td>Fork / customize the code</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
||||
<tr><td>Vendor lock-in risk</td><td class="yes">None (you own it)</td><td class="no">High</td></tr>
|
||||
<tr><td>Managed cloud option available</td><td class="yes">Yes (free / $39 / $99)</td><td class="yes">Yes</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2>How ScreenTinker compares to other open-source options</h2>
|
||||
<p>ScreenTinker is not the only open-source signage project - the two best-known alternatives are Xibo and Anthias (formerly Screenly OSE).</p>
|
||||
<p><strong>vs Xibo:</strong> Xibo is open source on the server side, but its player apps are not all free - the Android, Tizen, and webOS players are paid licenses. With ScreenTinker every player is free on every platform. See the <a href="/compare/xibo-alternative.html">ScreenTinker vs Xibo comparison</a>.</p>
|
||||
<p><strong>vs Anthias:</strong> Anthias is a lightweight single-screen player built for one Raspberry Pi at a time, without a true multi-device fleet CMS. ScreenTinker is a modern multi-device platform - manage Android TV, Fire TV, Tizen, webOS, Vega, Pi, and browsers from one dashboard. See the <a href="/compare/anthias-alternative.html">ScreenTinker vs Anthias comparison</a>.</p>
|
||||
|
||||
<h2>Getting started</h2>
|
||||
<p>The fastest path is the hosted free plan - one device, no server to run. When you are ready to self-host, clone the repo:</p>
|
||||
<pre><code>git clone https://github.com/screentinker/screentinker.git
|
||||
cd screentinker/server
|
||||
npm install
|
||||
cp .env.example .env
|
||||
# edit .env with your domain, JWT_SECRET, and SELF_HOSTED=true
|
||||
node server.js</code></pre>
|
||||
<p>ScreenTinker runs on Node.js with a SQLite database, so a $5 VPS is enough to manage hundreds of screens. Full deployment details are in the <a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub README</a>, and the <a href="/guides/self-hosted-digital-signage.html">self-hosted guide</a> walks through reverse proxy, TLS, and backups.</p>
|
||||
|
||||
<h2>Frequently asked questions</h2>
|
||||
<h3>Is ScreenTinker really free and open source?</h3>
|
||||
<p>Yes. ScreenTinker is released under the MIT license, so the full source code is public and you can audit, fork, and extend it. Self-hosting is free with unlimited devices; the managed cloud has a free plan plus paid tiers if you prefer hosted convenience.</p>
|
||||
<h3>What does the MIT license let me do?</h3>
|
||||
<p>The MIT license lets you run, modify, and redistribute the software - including commercially - with essentially no restrictions beyond keeping the copyright notice. You can build custom widgets, integrate it into your own systems, and white-label it.</p>
|
||||
<h3>Do I have to self-host to use open-source digital signage?</h3>
|
||||
<p>No. Open source means the code is available if you want it, but you can still use ScreenTinker's managed cloud. Many teams start on the hosted free plan and self-host later once their screen count grows.</p>
|
||||
<h3>Are all the player apps free?</h3>
|
||||
<p>Yes. Android TV / Fire TV, Samsung Tizen, LG webOS, Amazon Vega OS, Raspberry Pi, and the browser-based web player are all free on every platform, with no per-player license.</p>
|
||||
<h3>How is ScreenTinker different from Xibo?</h3>
|
||||
<p>Both are open source on the server, but Xibo charges license fees for its Android, Tizen, and webOS players. ScreenTinker keeps every player free on every platform.</p>
|
||||
<h3>How many screens can a self-hosted server handle?</h3>
|
||||
<p>ScreenTinker runs on Node.js and SQLite, which is efficient. A small $5/month VPS can comfortably manage hundreds of screens; larger fleets just need a bit more CPU, RAM, and storage.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related guides</h2>
|
||||
<ul>
|
||||
<li><a href="/guides/what-is-digital-signage.html">What is digital signage? A complete guide</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
<li><a href="/guides/raspberry-pi-digital-signage.html">How to set up digital signage on a Raspberry Pi</a></li>
|
||||
<li><a href="/compare/xibo-alternative.html">Compare: ScreenTinker vs Xibo</a></li>
|
||||
<li><a href="/compare/anthias-alternative.html">Compare: ScreenTinker vs Anthias</a></li>
|
||||
<li><a href="/compare/yodeck-alternative.html">Compare: ScreenTinker vs Yodeck</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Start with open-source signage</h2>
|
||||
<p>Try the hosted free plan in under a minute, or clone the repo and self-host today.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Open Source Digital Signage", "item": "https://screentinker.com/guides/open-source-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Is ScreenTinker really free and open source?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "Yes. ScreenTinker is released under the MIT license, so the full source code is public and you can audit, fork, and extend it. Self-hosting is free with unlimited devices; the managed cloud has a free plan plus paid tiers if you prefer hosted convenience." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What does the MIT license let me do?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "The MIT license lets you run, modify, and redistribute the software - including commercially - with essentially no restrictions beyond keeping the copyright notice. You can build custom widgets, integrate it into your own systems, and white-label it." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Do I have to self-host to use open-source digital signage?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "No. Open source means the code is available if you want it, but you can still use ScreenTinker's managed cloud. Many teams start on the hosted free plan and self-host later once their screen count grows." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Are all the player apps free?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "Yes. Android TV / Fire TV, Samsung Tizen, LG webOS, Amazon Vega OS, Raspberry Pi, and the browser-based web player are all free on every platform, with no per-player license." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "How is ScreenTinker different from Xibo?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "Both are open source on the server, but Xibo charges license fees for its Android, Tizen, and webOS players. ScreenTinker keeps every player free on every platform." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "How many screens can a self-hosted server handle?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "ScreenTinker runs on Node.js and SQLite, which is efficient. A small $5/month VPS can comfortably manage hundreds of screens; larger fleets just need a bit more CPU, RAM, and storage." }
|
||||
}
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://screentinker.com/#features" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Raspberry Pi Digital Signage", "item": "https://screentinker.com/guides/raspberry-pi-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ WantedBy=multi-user.target</code></pre>
|
|||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://screentinker.com/#features" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Self-Hosted Digital Signage", "item": "https://screentinker.com/guides/self-hosted-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
|
|
|
|||
214
frontend/guides/what-is-digital-signage.html
Normal file
214
frontend/guides/what-is-digital-signage.html
Normal file
|
|
@ -0,0 +1,214 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>What Is Digital Signage? A Complete Guide (2026) | ScreenTinker</title>
|
||||
<meta name="description" content="What is digital signage? A clear guide to how it works, what you can display, common use cases, the hardware you need, and what it costs. Free and open-source options included.">
|
||||
<meta name="keywords" content="what is digital signage, digital signage, digital signage software, how does digital signage work, digital signage explained, digital signage guide">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/guides/what-is-digital-signage.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/guides/what-is-digital-signage.html">
|
||||
<meta property="og:title" content="What Is Digital Signage? A Complete Guide (2026)">
|
||||
<meta property="og:description" content="How digital signage works, what you can display, common use cases, the hardware you need, and what it costs.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="What Is Digital Signage? A Complete Guide (2026)">
|
||||
<meta name="twitter:description" content="How digital signage works, what you can display, common use cases, the hardware you need, and what it costs.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/#features">Guides</a>
|
||||
<span>/</span>
|
||||
<span>What Is Digital Signage</span>
|
||||
</nav>
|
||||
|
||||
<h1>What Is Digital Signage? A Complete Guide (2026)</h1>
|
||||
<p class="lead">Digital signage turns everyday screens into centrally managed displays for menus, announcements, dashboards, and ads. This guide explains what it is, how it works, and what it costs.</p>
|
||||
|
||||
<h2>What is digital signage?</h2>
|
||||
<p>Digital signage is the use of electronic displays - TVs, monitors, or video walls - to show content such as images, video, menus, and live information, all managed remotely from a central software platform. Instead of printing and swapping posters, you update what appears on every screen from one dashboard. It is used in stores, restaurants, offices, schools, hospitals, and public spaces to inform, advertise, and guide people.</p>
|
||||
|
||||
<h2>How does digital signage work?</h2>
|
||||
<p>Every digital signage setup has three parts:</p>
|
||||
<ul>
|
||||
<li><strong>A CMS (content management system).</strong> The web dashboard where you upload media, build playlists, set schedules, and assign content to screens.</li>
|
||||
<li><strong>A player.</strong> A small device (or app) connected to the screen that downloads content from the CMS and plays it - even when the network is down.</li>
|
||||
<li><strong>A display.</strong> The TV, monitor, or video wall that people actually see.</li>
|
||||
</ul>
|
||||
<p>In ScreenTinker's model, you manage everything from the CMS, and a free player app runs on the screen. You pair a display with a 6-digit code, assign it a playlist, and the player pulls content and plays it. Playback is offline-native: once content is cached, the screen keeps running through network outages.</p>
|
||||
|
||||
<h2>What can you put on a digital sign?</h2>
|
||||
<ul>
|
||||
<li><strong>Images</strong> - promotions, posters, wayfinding, safety notices.</li>
|
||||
<li><strong>Video</strong> - product clips, brand reels, looping ambient content.</li>
|
||||
<li><strong>YouTube</strong> - embed videos or channels directly with a native widget.</li>
|
||||
<li><strong>Playlists</strong> - sequences of items that rotate on a schedule, with dayparting and content expiry.</li>
|
||||
<li><strong>Web pages and dashboards</strong> - a universal Webpage widget embeds any framable public URL: published Google Slides, Canva, Power BI publish-to-web, and live BI dashboards.</li>
|
||||
<li><strong>RSS feeds</strong> - headlines, alerts, or any syndicated feed.</li>
|
||||
<li><strong>Weather and clock</strong> - native widgets for local conditions and time.</li>
|
||||
<li><strong>Menus and directories</strong> - menu boards for QSR/retail and a directory-board widget for building listings.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Common use cases</h2>
|
||||
<ul>
|
||||
<li><strong>Retail and QSR</strong> - digital menu boards, price displays, and promotional loops.</li>
|
||||
<li><strong>Corporate communications</strong> - lobby screens, KPIs, and internal announcements.</li>
|
||||
<li><strong>Education</strong> - campus notices, event schedules, and emergency messaging.</li>
|
||||
<li><strong>Healthcare</strong> - waiting-room information, wayfinding, and queue status.</li>
|
||||
<li><strong>Hospitality</strong> - welcome screens, event boards, and guest information.</li>
|
||||
<li><strong>Events</strong> - schedules, sponsor loops, and live directional signage.</li>
|
||||
</ul>
|
||||
|
||||
<h2>What hardware do you need?</h2>
|
||||
<p>Digital signage needs two things: a screen and a player device to drive it. Almost any modern TV or monitor with an HDMI input works as the screen. For the player, ScreenTinker supports a wide range of free options:</p>
|
||||
<ul>
|
||||
<li><strong>Android TV / Fire TV</strong> - a native APK; the most common low-cost choice.</li>
|
||||
<li><strong>Raspberry Pi</strong> - a free setup script turns a Pi into a kiosk player.</li>
|
||||
<li><strong>Samsung Tizen and LG webOS</strong> - run directly on compatible commercial smart TVs, no external box.</li>
|
||||
<li><strong>Amazon Vega OS</strong> - the newer Fire TV platform.</li>
|
||||
<li><strong>Windows, ChromeOS, or any browser</strong> - the web player runs on hardware you may already own.</li>
|
||||
</ul>
|
||||
<p>All ScreenTinker players are free, so hardware is the only cost - and it can be as little as a Raspberry Pi or a budget Android TV stick.</p>
|
||||
|
||||
<h2>How much does digital signage software cost?</h2>
|
||||
<p>Pricing splits into two models. Closed cloud SaaS products bill per screen, typically $5-15/screen/month, which adds up quickly across a fleet. Open-source and self-hosted software can be free: with ScreenTinker you can self-host for free with unlimited devices, paying only for a small server (a $5 VPS runs hundreds of screens).</p>
|
||||
<p>If you prefer managed hosting, ScreenTinker's cloud has a Free plan (1 device, 500MB), Starter at $39/mo (5 devices, 5GB), Pro at $99/mo (15 devices, 20GB, all features), and custom Enterprise pricing. Either way, all player apps are free.</p>
|
||||
|
||||
<h2>Digital signage software vs a plain TV</h2>
|
||||
<p>You could plug a USB stick into a TV and loop a video - but that is not digital signage. A signage platform adds the management layer that makes screens practical at scale:</p>
|
||||
<ul>
|
||||
<li><strong>Scheduling</strong> - show different content by time of day (dayparting) and auto-expire dated promotions.</li>
|
||||
<li><strong>Remote management</strong> - update every screen from one dashboard instead of visiting each TV with a USB stick.</li>
|
||||
<li><strong>Multi-screen</strong> - synchronize video walls, group screens, and keep dozens or hundreds of displays consistent.</li>
|
||||
<li><strong>Reliability</strong> - offline-native playback, auto-updates, and telemetry so you know a screen is alive.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Frequently asked questions</h2>
|
||||
<h3>What is digital signage?</h3>
|
||||
<p>Digital signage is the use of electronic displays - TVs, monitors, or video walls - to show content like images, video, menus, and live information, managed remotely from central software. It replaces printed posters with screens you update from one dashboard.</p>
|
||||
<h3>Do I need special hardware?</h3>
|
||||
<p>Not necessarily. You need a screen and a player device. Almost any TV or monitor with HDMI works, and the player can be an inexpensive Android TV / Fire TV stick, a Raspberry Pi, a compatible Samsung or LG smart TV, or a Windows/ChromeOS device running the web player.</p>
|
||||
<h3>Is there free digital signage software?</h3>
|
||||
<p>Yes. ScreenTinker is open-source (MIT licensed) and free to self-host with unlimited devices. There is also a free managed cloud plan for a single device, plus paid tiers if you want hosting managed for you. All player apps are free.</p>
|
||||
<h3>Can I run digital signage without internet or offline?</h3>
|
||||
<p>Yes. ScreenTinker's playback is offline-native: once a player has cached its content, it keeps playing through network outages. You can also self-host entirely on a private LAN with no internet at all.</p>
|
||||
<h3>What's the difference between digital signage and a smart TV?</h3>
|
||||
<p>A smart TV plays apps or a looping file on that one screen. Digital signage adds a central CMS that schedules content, manages many screens at once, synchronizes video walls, and reports device status - things a standalone smart TV cannot do.</p>
|
||||
<h3>What can you display on digital signage?</h3>
|
||||
<p>Images, video, YouTube, playlists, web pages and live dashboards, RSS feeds, weather and clock widgets, and menu or directory boards - all scheduled and rotated from the dashboard.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related guides</h2>
|
||||
<ul>
|
||||
<li><a href="/guides/open-source-digital-signage.html">Open source digital signage software: free & self-hosted</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
<li><a href="/guides/raspberry-pi-digital-signage.html">How to set up digital signage on a Raspberry Pi</a></li>
|
||||
<li><a href="/compare/xibo-alternative.html">Compare: ScreenTinker vs Xibo</a></li>
|
||||
<li><a href="/compare/anthias-alternative.html">Compare: ScreenTinker vs Anthias</a></li>
|
||||
<li><a href="/compare/yodeck-alternative.html">Compare: ScreenTinker vs Yodeck</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Try digital signage free</h2>
|
||||
<p>Start a free ScreenTinker account in under a minute, or self-host the open-source CMS on your own server.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "What Is Digital Signage", "item": "https://screentinker.com/guides/what-is-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What is digital signage?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "Digital signage is the use of electronic displays - TVs, monitors, or video walls - to show content like images, video, menus, and live information, managed remotely from central software. It replaces printed posters with screens you update from one dashboard." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Do I need special hardware?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "Not necessarily. You need a screen and a player device. Almost any TV or monitor with HDMI works, and the player can be an inexpensive Android TV / Fire TV stick, a Raspberry Pi, a compatible Samsung or LG smart TV, or a Windows/ChromeOS device running the web player." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Is there free digital signage software?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "Yes. ScreenTinker is open-source (MIT licensed) and free to self-host with unlimited devices. There is also a free managed cloud plan for a single device, plus paid tiers if you want hosting managed for you. All player apps are free." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Can I run digital signage without internet or offline?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "Yes. ScreenTinker's playback is offline-native: once a player has cached its content, it keeps playing through network outages. You can also self-host entirely on a private LAN with no internet at all." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What's the difference between digital signage and a smart TV?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "A smart TV plays apps or a looping file on that one screen. Digital signage adds a central CMS that schedules content, manages many screens at once, synchronizes video walls, and reports device status - things a standalone smart TV cannot do." }
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What can you display on digital signage?",
|
||||
"acceptedAnswer": { "@type": "Answer", "text": "Images, video, YouTube, playlists, web pages and live dashboards, RSS feeds, weather and clock widgets, and menu or directory boards - all scheduled and rotated from the dashboard." }
|
||||
}
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
165
frontend/integrations/canva-digital-signage.html
Normal file
165
frontend/integrations/canva-digital-signage.html
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>How to Display Canva Designs on Digital Signage (2026) | ScreenTinker</title>
|
||||
<meta name="description" content="Show a Canva design on digital signage. Publish it as a website, paste the public link into ScreenTinker's Webpage widget, and loop it as a slideshow on any screen. Step-by-step guide.">
|
||||
<meta name="keywords" content="canva digital signage, canva on tv, canva signage, publish canva website, canva embed signage, canva slideshow kiosk">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/integrations/canva-digital-signage.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/integrations/canva-digital-signage.html">
|
||||
<meta property="og:title" content="How to Display Canva Designs on Digital Signage (2026)">
|
||||
<meta property="og:description" content="Publish a Canva design as a website and paste the link into ScreenTinker's Webpage widget to loop it on any screen.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="How to Display Canva Designs on Digital Signage (2026)">
|
||||
<meta name="twitter:description" content="Publish a Canva design as a website and paste the link into ScreenTinker's Webpage widget to loop it on any screen.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/integrations/">Integrations</a>
|
||||
<span>/</span>
|
||||
<span>Canva</span>
|
||||
</nav>
|
||||
|
||||
<h1>How to display Canva designs on a digital signage screen</h1>
|
||||
<p class="lead">ScreenTinker has no dedicated "Canva app," and it does not need one. Canva can publish a design as a public website, and ScreenTinker's universal Webpage widget can show that public link on any screen - looping it as a slideshow for lobbies, menus, and announcement boards.</p>
|
||||
|
||||
<h2>The short version</h2>
|
||||
<p>In Canva, open <strong>Share → Publish → Website</strong> (or <strong>Embed</strong>), copy the public link, then add a <strong>Webpage</strong> widget in ScreenTinker, paste the link, add it to a playlist, and assign the playlist to a screen. That is the entire integration.</p>
|
||||
|
||||
<h2>Step by step</h2>
|
||||
<ol>
|
||||
<li><strong>Open your design</strong> in Canva and click <strong>Share</strong> in the top-right.</li>
|
||||
<li><strong>Choose Publish → Website</strong> (or the <strong>Embed</strong> option). For a multi-page design, pick a navigation style such as <em>Scroll</em> or a presentation layout so all pages are reachable.</li>
|
||||
<li><strong>Publish the design</strong> and copy the public website link (or the <code>src</code> URL from the embed snippet). This is a public URL - <em>not</em> your normal edit link.</li>
|
||||
<li><strong>In ScreenTinker, add a Webpage widget.</strong> Create or edit a playlist item and select the <strong>Webpage</strong> widget type.</li>
|
||||
<li><strong>Paste the Canva public link</strong> into the URL field and save.</li>
|
||||
<li><strong>Add the widget to a playlist</strong> and set a duration long enough to show the whole design.</li>
|
||||
<li><strong>Assign the playlist to a screen.</strong> The player loads the published design and displays it on the wall.</li>
|
||||
</ol>
|
||||
<p>A published Canva website URL looks like this:</p>
|
||||
<pre><code>https://your-design-name.my.canva.site/</code></pre>
|
||||
|
||||
<h2>Getting the right URL</h2>
|
||||
<p>Only a <strong>published, public</strong> Canva URL will embed. The private editing link will not:</p>
|
||||
<ul>
|
||||
<li><strong>The edit URL</strong> (contains <code>/design/</code> and <code>/edit</code>) requires a Canva login and blocks framing - it will <em>not</em> appear in the Webpage widget.</li>
|
||||
<li><strong>The published website / embed URL</strong> (from <em>Publish → Website</em> or <em>Embed</em>) is public and framable. Always use this one.</li>
|
||||
</ul>
|
||||
<p>As with any embedded page, the deciding factor is <code>X-Frame-Options</code> / <code>frame-ancestors</code>: a page that denies framing cannot be shown in ScreenTinker's Webpage widget, because the widget is an iframe. Canva's published website URL is served to allow embedding; the private edit link is not. If your design does not show up, the URL is the first thing to check.</p>
|
||||
|
||||
<h2>Auto-advance and refresh tips</h2>
|
||||
<ul>
|
||||
<li><strong>Use a looping presentation for slideshows.</strong> When you publish, choose a presentation/autoplay option so a multi-page design advances on its own and loops rather than sitting on page one.</li>
|
||||
<li><strong>Give the playlist item enough time.</strong> Set the Webpage widget's on-screen duration to at least one full pass through the design so every page is seen.</li>
|
||||
<li><strong>Re-publish to update.</strong> Canva does not always push edits to an already-published URL instantly; after changing a design, use <strong>Share → Publish</strong> again to refresh the public version the screen loads.</li>
|
||||
<li><strong>Match the aspect ratio.</strong> Design at your screen's resolution (for example 1920×1080) so the published page fills the display without letterboxing.</li>
|
||||
</ul>
|
||||
|
||||
<h2>FAQ</h2>
|
||||
|
||||
<h3>Why won't my Canva link show up on the screen?</h3>
|
||||
<p>You likely used the private edit link (the one with <code>/design/</code> and <code>/edit</code>). It needs a login and blocks framing. Re-open <strong>Share → Publish → Website</strong> and copy the public <code>.my.canva.site</code> link instead.</p>
|
||||
|
||||
<h3>Does the design have to be public?</h3>
|
||||
<p>Yes. Only a published, public Canva design embeds. Private designs are login-gated and cannot be shown on an unattended signage player.</p>
|
||||
|
||||
<h3>Can I loop a multi-page design as a slideshow?</h3>
|
||||
<p>Yes. Choose a presentation or autoplay publish option so the pages advance automatically and loop, then set the widget duration to cover the full cycle.</p>
|
||||
|
||||
<h3>Will the screen update when I change the design?</h3>
|
||||
<p>Not always automatically. Canva may keep serving the previously published version, so re-publish after edits to make sure the screen loads the latest.</p>
|
||||
|
||||
<h3>Is there a native Canva widget?</h3>
|
||||
<p>No - this uses the universal Webpage widget with the design's published website URL. That is the supported way to show Canva on ScreenTinker.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related guides</h2>
|
||||
<ul>
|
||||
<li><a href="/integrations/">All digital signage integrations</a></li>
|
||||
<li><a href="/integrations/google-slides-digital-signage.html">Put Google Slides on digital signage</a></li>
|
||||
<li><a href="/integrations/power-bi-digital-signage.html">Power BI dashboards on digital signage</a></li>
|
||||
<li><a href="/guides/what-is-digital-signage.html">What is digital signage?</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Try ScreenTinker free</h2>
|
||||
<p>Add a Webpage widget, paste your published Canva link, and see it on a screen in minutes. Free plan, no credit card required.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Integrations", "item": "https://screentinker.com/integrations/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Canva", "item": "https://screentinker.com/integrations/canva-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{ "@type": "Question", "name": "Why won't my Canva link show up on the screen?", "acceptedAnswer": { "@type": "Answer", "text": "You likely used the private edit link (the one with /design/ and /edit). It needs a login and blocks framing. Re-open Share > Publish > Website and copy the public .my.canva.site link instead." } },
|
||||
{ "@type": "Question", "name": "Does the design have to be public?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Only a published, public Canva design embeds. Private designs are login-gated and cannot be shown on an unattended signage player." } },
|
||||
{ "@type": "Question", "name": "Can I loop a multi-page design as a slideshow?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Choose a presentation or autoplay publish option so the pages advance automatically and loop, then set the widget duration to cover the full cycle." } },
|
||||
{ "@type": "Question", "name": "Will the screen update when I change the design?", "acceptedAnswer": { "@type": "Answer", "text": "Not always automatically. Canva may keep serving the previously published version, so re-publish after edits to make sure the screen loads the latest." } },
|
||||
{ "@type": "Question", "name": "Is there a native Canva widget?", "acceptedAnswer": { "@type": "Answer", "text": "No - this uses the universal Webpage widget with the design's published website URL. That is the supported way to show Canva on ScreenTinker." } }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
166
frontend/integrations/google-slides-digital-signage.html
Normal file
166
frontend/integrations/google-slides-digital-signage.html
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>How to Put Google Slides on Digital Signage (2026) | ScreenTinker</title>
|
||||
<meta name="description" content="Show a Google Slides deck on digital signage. Publish the slideshow to the web, paste the published URL into ScreenTinker's Webpage widget, and let it auto-advance on any screen. Step-by-step guide.">
|
||||
<meta name="keywords" content="google slides digital signage, google slides on tv, google slides signage, publish google slides to web, google slides embed signage, google slides kiosk">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/integrations/google-slides-digital-signage.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/integrations/google-slides-digital-signage.html">
|
||||
<meta property="og:title" content="How to Put Google Slides on Digital Signage (2026)">
|
||||
<meta property="og:description" content="Publish a Slides deck to the web and paste the URL into ScreenTinker's Webpage widget to auto-advance it on any screen.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="How to Put Google Slides on Digital Signage (2026)">
|
||||
<meta name="twitter:description" content="Publish a Slides deck to the web and paste the URL into ScreenTinker's Webpage widget to auto-advance it on any screen.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/integrations/">Integrations</a>
|
||||
<span>/</span>
|
||||
<span>Google Slides</span>
|
||||
</nav>
|
||||
|
||||
<h1>How to put Google Slides on a digital signage screen</h1>
|
||||
<p class="lead">ScreenTinker does not have a dedicated "Google Slides app" - and it does not need one. Google Slides can publish a deck to the web, and ScreenTinker's universal Webpage widget can display that published URL on any screen, auto-advancing through the slides on a loop.</p>
|
||||
|
||||
<h2>The short version</h2>
|
||||
<p>In Google Slides, go to <strong>File → Share → Publish to web → Embed</strong>, set the auto-advance interval, and copy the published URL. In ScreenTinker, add a <strong>Webpage</strong> widget, paste that URL, drop the widget into a playlist, and assign the playlist to a screen. That is the whole integration.</p>
|
||||
|
||||
<h2>Step by step</h2>
|
||||
<ol>
|
||||
<li><strong>Open your deck</strong> in Google Slides and choose <strong>File → Share → Publish to web</strong>.</li>
|
||||
<li><strong>Switch to the "Embed" tab.</strong> Pick how fast slides should advance (for example, every 5 seconds) and tick <em>Auto-advance</em> and <em>Restart the slideshow after the last slide</em> so it loops forever.</li>
|
||||
<li><strong>Click Publish</strong> and confirm. Copy the published URL from the embed snippet - it is the <code>src</code> value that looks like the one below, <em>not</em> your normal editing link.</li>
|
||||
<li><strong>In ScreenTinker, add a Webpage widget.</strong> Open your dashboard, create or edit a playlist item, and choose the <strong>Webpage</strong> widget type.</li>
|
||||
<li><strong>Paste the published URL</strong> into the widget's URL field and save.</li>
|
||||
<li><strong>Add the widget to a playlist</strong> and set its duration to at least one full loop of the deck.</li>
|
||||
<li><strong>Assign the playlist to a screen.</strong> The player pulls the published deck and it starts advancing on the wall.</li>
|
||||
</ol>
|
||||
<p>A published Slides embed URL looks like this:</p>
|
||||
<pre><code>https://docs.google.com/presentation/d/e/2PACX-xxxxxxxx/pubembed?start=true&loop=true&delayms=5000</code></pre>
|
||||
|
||||
<h2>Getting the right URL</h2>
|
||||
<p>This is the step that trips people up. Google Slides has several URLs and only one of them will embed:</p>
|
||||
<ul>
|
||||
<li><strong>The /edit URL</strong> (ends in <code>/edit</code>) is your working document. It requires a Google login and refuses to be framed - it will <em>not</em> show up in the Webpage widget.</li>
|
||||
<li><strong>The /present URL</strong> (ends in <code>/present</code>) is presenter mode and also blocks framing.</li>
|
||||
<li><strong>The published URL</strong> from <em>Publish to web</em> (contains <code>/pub</code> or <code>/pubembed</code>) is the only one that permits embedding. Always use this one.</li>
|
||||
</ul>
|
||||
<p>The reason is <code>X-Frame-Options</code> / <code>frame-ancestors</code>: any page that sends those headers to deny framing cannot be shown in an iframe, and ScreenTinker's Webpage widget is an iframe. The published URL is served without that restriction specifically so it can be embedded. If your slides do not appear, the URL is almost always the cause.</p>
|
||||
|
||||
<h2>Auto-advance and refresh tips</h2>
|
||||
<ul>
|
||||
<li><strong>Set the pace in Slides, not ScreenTinker.</strong> The <code>delayms</code> parameter in the published URL controls how long each slide holds. Adjust it by re-publishing with a different interval, or edit the <code>delayms</code> value directly in the URL (milliseconds).</li>
|
||||
<li><strong>Keep <code>loop=true</code></strong> so the deck restarts after the last slide and never goes blank.</li>
|
||||
<li><strong>Give the playlist item enough time.</strong> Set the Webpage widget's on-screen duration to at least the length of one full loop so viewers see every slide.</li>
|
||||
<li><strong>Content updates are automatic-ish.</strong> When you edit the source deck, Google re-publishes changes to the published URL within a short window (usually a few minutes), so the sign updates without touching ScreenTinker.</li>
|
||||
</ul>
|
||||
|
||||
<h2>FAQ</h2>
|
||||
|
||||
<h3>Why won't my Google Slides link show up on the screen?</h3>
|
||||
<p>You almost certainly pasted the <code>/edit</code> or <code>/present</code> URL. Those require a login and block framing. Go back to <strong>File → Share → Publish to web</strong> and copy the published <code>/pubembed</code> URL instead.</p>
|
||||
|
||||
<h3>Do viewers need a Google account to see the deck?</h3>
|
||||
<p>No. A published-to-web deck is public and renders without any login, which is exactly why it works on an unattended signage player.</p>
|
||||
|
||||
<h3>Can I make the slides advance automatically?</h3>
|
||||
<p>Yes. Enable auto-advance when you publish and set the interval; the <code>delayms</code> and <code>loop</code> parameters in the published URL handle timing and looping.</p>
|
||||
|
||||
<h3>Will the sign update when I edit the deck?</h3>
|
||||
<p>Yes, on a short delay. Google re-publishes edits to the published URL automatically, so the screen picks up changes without any change in ScreenTinker.</p>
|
||||
|
||||
<h3>Is there a native Google Slides widget?</h3>
|
||||
<p>No - this uses the universal Webpage widget with the deck's published URL. That is the supported and reliable way to show Slides on ScreenTinker.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related guides</h2>
|
||||
<ul>
|
||||
<li><a href="/integrations/">All digital signage integrations</a></li>
|
||||
<li><a href="/integrations/canva-digital-signage.html">Display Canva designs on digital signage</a></li>
|
||||
<li><a href="/integrations/power-bi-digital-signage.html">Power BI dashboards on digital signage</a></li>
|
||||
<li><a href="/guides/what-is-digital-signage.html">What is digital signage?</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Try ScreenTinker free</h2>
|
||||
<p>Add a Webpage widget, paste your published deck, and see it on a screen in minutes. Free plan, no credit card required.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Integrations", "item": "https://screentinker.com/integrations/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Google Slides", "item": "https://screentinker.com/integrations/google-slides-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{ "@type": "Question", "name": "Why won't my Google Slides link show up on the screen?", "acceptedAnswer": { "@type": "Answer", "text": "You almost certainly pasted the /edit or /present URL. Those require a login and block framing. Go back to File > Share > Publish to web and copy the published /pubembed URL instead." } },
|
||||
{ "@type": "Question", "name": "Do viewers need a Google account to see the deck?", "acceptedAnswer": { "@type": "Answer", "text": "No. A published-to-web deck is public and renders without any login, which is why it works on an unattended signage player." } },
|
||||
{ "@type": "Question", "name": "Can I make the slides advance automatically?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Enable auto-advance when you publish and set the interval; the delayms and loop parameters in the published URL handle timing and looping." } },
|
||||
{ "@type": "Question", "name": "Will the sign update when I edit the deck?", "acceptedAnswer": { "@type": "Answer", "text": "Yes, on a short delay. Google re-publishes edits to the published URL automatically, so the screen picks up changes without any change in ScreenTinker." } },
|
||||
{ "@type": "Question", "name": "Is there a native Google Slides widget?", "acceptedAnswer": { "@type": "Answer", "text": "No - this uses the universal Webpage widget with the deck's published URL. That is the supported and reliable way to show Slides on ScreenTinker." } }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
135
frontend/integrations/index.html
Normal file
135
frontend/integrations/index.html
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Digital Signage Integrations - Connect Any App | ScreenTinker</title>
|
||||
<meta name="description" content="Connect ScreenTinker to the apps you already use. Native widgets for YouTube, RSS, weather, and clocks, plus a universal Webpage widget that embeds any public URL - Google Slides, Canva, Power BI, and more.">
|
||||
<meta name="keywords" content="digital signage integrations, digital signage widgets, embed webpage digital signage, google slides signage, canva signage, power bi signage, screentinker integrations">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/integrations/index.html">
|
||||
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://screentinker.com/integrations/index.html">
|
||||
<meta property="og:title" content="Digital Signage Integrations - Connect Any App | ScreenTinker">
|
||||
<meta property="og:description" content="Native widgets plus a universal Webpage widget that embeds any public URL - Google Slides, Canva, Power BI, and more.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Digital Signage Integrations - Connect Any App">
|
||||
<meta name="twitter:description" content="Native widgets plus a universal Webpage widget that embeds any public URL - Google Slides, Canva, Power BI, and more.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<span>Integrations</span>
|
||||
</nav>
|
||||
|
||||
<h1>Digital Signage Integrations</h1>
|
||||
<p class="lead">ScreenTinker connects to the tools you already use in two ways: purpose-built <strong>native widgets</strong> for common content types, and a universal <strong>Webpage widget</strong> that embeds any public web page on your screens. Between the two, most apps that can produce a public link can appear on a ScreenTinker display.</p>
|
||||
|
||||
<h2>Native widgets</h2>
|
||||
<p>These are built directly into ScreenTinker. You configure them in the dashboard - no embed URL required - and they render natively on every player (Android TV, Fire TV, Tizen, webOS, Vega, Raspberry Pi, Windows, ChromeOS, and the browser player).</p>
|
||||
<ul>
|
||||
<li><strong><a href="/integrations/youtube-digital-signage.html">YouTube</a>.</strong> Play a single video, a playlist, or a live stream, with autoplay and loop handled for you.</li>
|
||||
<li><strong><a href="/integrations/rss-digital-signage.html">RSS</a>.</strong> Pull headlines from any feed - news, blogs, internal announcements - and rotate them on screen.</li>
|
||||
<li><strong><a href="/integrations/weather-digital-signage.html">Weather</a>.</strong> Current conditions and forecast for any location.</li>
|
||||
<li><strong>Clock.</strong> Analog or digital time and date, with time-zone support for multi-site fleets.</li>
|
||||
<li><strong>Social.</strong> Surface social posts and feeds in a signage-friendly layout.</li>
|
||||
<li><strong>Text / HTML.</strong> Free-form rich text or hand-written HTML for banners, notices, and custom markup.</li>
|
||||
<li><strong>Directory board.</strong> A building or event directory board for lobbies and wayfinding.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Embed anything with the Webpage widget</h2>
|
||||
<p>The Webpage widget renders any framable public URL inside an iframe on your screen. If a service can publish a public link and does not block framing, you can put it on a display - no dedicated integration needed. This is how you connect apps that ScreenTinker does not have a native widget for.</p>
|
||||
<p><strong>Honest caveat:</strong> sites that send <code>X-Frame-Options</code> or a <code>frame-ancestors</code> Content-Security-Policy that denies embedding <em>cannot</em> be shown in the Webpage widget. You must use each service's official "publish to web" / "embed" URL - not the normal share, edit, or present URL - because the published URL is the one that permits framing.</p>
|
||||
<ul>
|
||||
<li><strong><a href="/integrations/google-slides-digital-signage.html">Google Slides</a>.</strong> Publish a deck to the web and auto-advance it as an announcement board.</li>
|
||||
<li><strong><a href="/integrations/canva-digital-signage.html">Canva</a>.</strong> Publish a design as a website and loop it as a slideshow.</li>
|
||||
<li><strong><a href="/integrations/power-bi-digital-signage.html">Power BI</a>.</strong> Use "Publish to web (public)" to put a live-refreshing dashboard on a wall.</li>
|
||||
<li><strong>Tableau.</strong> Embed a published Tableau Public view or a share URL that allows framing.</li>
|
||||
<li><strong>Grafana.</strong> Point the widget at a public or LAN-reachable Grafana dashboard URL.</li>
|
||||
<li><strong>Internal dashboards.</strong> Any in-house web app on a URL your player can reach that does not block framing.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Frequently asked questions</h2>
|
||||
|
||||
<h3>Can ScreenTinker integrate with a specific app?</h3>
|
||||
<p>If the app has a native widget above, use that. Otherwise: if the app can produce a public embed or "publish to web" URL that allows framing, then yes - add a Webpage widget and paste that URL. If the only URL the app offers denies framing, it cannot be embedded, and you would need a screenshot, export, or a native widget instead.</p>
|
||||
|
||||
<h3>What is the difference between a native widget and the Webpage widget?</h3>
|
||||
<p>Native widgets are built into ScreenTinker and configured with a few fields in the dashboard; they render reliably on every player. The Webpage widget is a generic iframe - more flexible, since it can show almost any public page, but subject to the framing rules of the site you point it at.</p>
|
||||
|
||||
<h3>Do I need a paid plan to use integrations?</h3>
|
||||
<p>No. Native widgets and the Webpage widget are available on the free plan and in self-hosted deployments. Plans differ by device count and storage, not by which widgets you can use.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related guides</h2>
|
||||
<ul>
|
||||
<li><a href="/integrations/google-slides-digital-signage.html">Put Google Slides on digital signage</a></li>
|
||||
<li><a href="/integrations/canva-digital-signage.html">Display Canva designs on digital signage</a></li>
|
||||
<li><a href="/integrations/power-bi-digital-signage.html">Power BI dashboards on digital signage</a></li>
|
||||
<li><a href="/guides/what-is-digital-signage.html">What is digital signage?</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Try ScreenTinker free</h2>
|
||||
<p>Add a widget, drop in a URL, and see it on a screen in minutes. Free plan, no credit card required.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Integrations", "item": "https://screentinker.com/integrations/" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
169
frontend/integrations/power-bi-digital-signage.html
Normal file
169
frontend/integrations/power-bi-digital-signage.html
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Power BI Dashboards on Digital Signage (2026) | ScreenTinker</title>
|
||||
<meta name="description" content="Put a live Power BI dashboard on a digital signage screen. Use Publish to web to get an embeddable URL, paste it into ScreenTinker's Webpage widget, and show a self-refreshing report on the wall. Includes the important public-data security caveat.">
|
||||
<meta name="keywords" content="power bi digital signage, power bi on tv, power bi dashboard wall, power bi publish to web, power bi embed signage, power bi kiosk display">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/integrations/power-bi-digital-signage.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/integrations/power-bi-digital-signage.html">
|
||||
<meta property="og:title" content="Power BI Dashboards on Digital Signage (2026)">
|
||||
<meta property="og:description" content="Use Publish to web to get an embeddable URL and paste it into ScreenTinker's Webpage widget for a live dashboard on the wall.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Power BI Dashboards on Digital Signage (2026)">
|
||||
<meta name="twitter:description" content="Use Publish to web to get an embeddable URL and paste it into ScreenTinker's Webpage widget for a live dashboard on the wall.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/integrations/">Integrations</a>
|
||||
<span>/</span>
|
||||
<span>Power BI</span>
|
||||
</nav>
|
||||
|
||||
<h1>How to put a Power BI dashboard on a digital signage screen</h1>
|
||||
<p class="lead">ScreenTinker has no dedicated "Power BI app," and it does not need one. Power BI can produce an embeddable public URL with "Publish to web," and ScreenTinker's universal Webpage widget can display that live, self-refreshing report on a wall - as long as you understand the security trade-off first.</p>
|
||||
|
||||
<h2>The short version</h2>
|
||||
<p>In Power BI, use <strong>File → Embed report → Publish to web (public)</strong> to generate an embeddable URL, then add a <strong>Webpage</strong> widget in ScreenTinker, paste the URL, add it to a playlist, and assign it to a screen. Because "Publish to web" makes the report <em>public</em>, only do this for non-confidential data.</p>
|
||||
|
||||
<h2>Step by step</h2>
|
||||
<ol>
|
||||
<li><strong>Open the report</strong> in the Power BI service (app.powerbi.com).</li>
|
||||
<li><strong>Confirm the data is safe to make public.</strong> "Publish to web" exposes the report to anyone with the link - see the caveat below before continuing.</li>
|
||||
<li><strong>Choose File → Embed report → Publish to web (public).</strong> Create the embed code and copy the <em>link</em> (the standalone URL, not just the <code><iframe></code> snippet).</li>
|
||||
<li><strong>In ScreenTinker, add a Webpage widget.</strong> Create or edit a playlist item and select the <strong>Webpage</strong> widget type.</li>
|
||||
<li><strong>Paste the Publish-to-web URL</strong> into the widget's URL field and save.</li>
|
||||
<li><strong>Add the widget to a playlist</strong> and set a comfortable on-screen duration.</li>
|
||||
<li><strong>Assign the playlist to a screen.</strong> The player loads the report and it refreshes on its own schedule.</li>
|
||||
</ol>
|
||||
<p>A Publish-to-web URL looks like this:</p>
|
||||
<pre><code>https://app.powerbi.com/view?r=eyJrIjoixxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</code></pre>
|
||||
|
||||
<h2>Getting the right URL</h2>
|
||||
<p>Power BI offers two very different "embed" paths, and only one works on an unattended screen:</p>
|
||||
<ul>
|
||||
<li><strong>Publish to web (public)</strong> produces a URL (<code>app.powerbi.com/view?r=...</code>) that anyone can open with no login and that is allowed to be framed. This is the one that works on signage.</li>
|
||||
<li><strong>Embed (for your organization)</strong> requires each viewer to sign in with a Microsoft Entra / Azure AD account. A signage player has no one to complete that login, so this path generally will <em>not</em> display on an unattended screen - it will show a sign-in wall instead.</li>
|
||||
</ul>
|
||||
<p>The underlying reason is the same as every embed: pages that send <code>X-Frame-Options</code> / <code>frame-ancestors</code> to deny framing, or that demand authentication, cannot render in ScreenTinker's Webpage widget (it is an iframe). Publish-to-web is served specifically to be publicly embeddable; the org embed and the normal report URL are not.</p>
|
||||
|
||||
<h2 style="color:#dc2626">Security caveat: Publish to web makes the report public</h2>
|
||||
<p>This matters, so it gets its own section. <strong>"Publish to web" exposes your report and its underlying data to anyone who has the link - no authentication, no row-level security, indexable by search engines in some cases.</strong> Do not use it for confidential, personal, financial, or otherwise sensitive data. Many organizations disable Publish to web in the Power BI admin portal for exactly this reason.</p>
|
||||
<p>If the dashboard contains anything private, do not put it on a public URL. The safer pattern for confidential dashboards is to <a href="/guides/self-hosted-digital-signage.html">self-host ScreenTinker on a trusted LAN</a> and point the Webpage widget at an internal, network-restricted dashboard URL that never leaves your network. Reserve Publish to web for genuinely public metrics - marketing stats, public KPIs, community dashboards, and the like.</p>
|
||||
|
||||
<h2>Auto-refresh tips</h2>
|
||||
<ul>
|
||||
<li><strong>Refresh is driven by Power BI, not ScreenTinker.</strong> A Publish-to-web report updates on Power BI's cached schedule (typically about hourly, and roughly every few minutes for visuals in an open view). Design expectations around that cadence rather than expecting real-time.</li>
|
||||
<li><strong>Match your dataset refresh schedule.</strong> The screen can only be as fresh as the dataset behind it, so set the dataset's scheduled refresh to the fastest cadence your source and license allow.</li>
|
||||
<li><strong>Reload periodically if needed.</strong> For long-running displays, rotating the report through a playlist (so the widget reloads on each cycle) helps ensure the latest cached view is fetched.</li>
|
||||
<li><strong>Design for the wall.</strong> Build a report page sized for your display and hide slicers/filters the audience cannot interact with, so the unattended view stays clean.</li>
|
||||
</ul>
|
||||
|
||||
<h2>FAQ</h2>
|
||||
|
||||
<h3>Why won't my Power BI report show up on the screen?</h3>
|
||||
<p>You probably used the normal report URL or the "Embed for your organization" link, both of which require a Microsoft login. Use <strong>Publish to web (public)</strong> and paste that <code>app.powerbi.com/view?r=...</code> URL instead.</p>
|
||||
|
||||
<h3>Is it safe to put a Power BI dashboard on signage?</h3>
|
||||
<p>Only if the data is non-confidential. "Publish to web" makes the report public to anyone with the link. For private data, self-host ScreenTinker on a trusted LAN and point the Webpage widget at an internal, network-restricted dashboard URL instead.</p>
|
||||
|
||||
<h3>Can I use "Embed for your organization" on a screen?</h3>
|
||||
<p>Generally no. That path requires each viewer to sign in with an organizational account, and an unattended signage player cannot complete that login - it will show a sign-in wall.</p>
|
||||
|
||||
<h3>How often does the dashboard refresh?</h3>
|
||||
<p>On Power BI's cached schedule for Publish-to-web (roughly hourly, with visuals updating every few minutes in an open view), and never fresher than the dataset's own scheduled refresh.</p>
|
||||
|
||||
<h3>Is there a native Power BI widget?</h3>
|
||||
<p>No - this uses the universal Webpage widget with a Publish-to-web URL. That is the supported way to show Power BI on ScreenTinker.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related guides</h2>
|
||||
<ul>
|
||||
<li><a href="/integrations/">All digital signage integrations</a></li>
|
||||
<li><a href="/integrations/google-slides-digital-signage.html">Put Google Slides on digital signage</a></li>
|
||||
<li><a href="/integrations/canva-digital-signage.html">Display Canva designs on digital signage</a></li>
|
||||
<li><a href="/guides/what-is-digital-signage.html">What is digital signage?</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Try ScreenTinker free</h2>
|
||||
<p>Add a Webpage widget, paste a Publish-to-web URL, and see your dashboard on a screen in minutes. Free plan, no credit card required.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Integrations", "item": "https://screentinker.com/integrations/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Power BI", "item": "https://screentinker.com/integrations/power-bi-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{ "@type": "Question", "name": "Why won't my Power BI report show up on the screen?", "acceptedAnswer": { "@type": "Answer", "text": "You probably used the normal report URL or the Embed for your organization link, both of which require a Microsoft login. Use Publish to web (public) and paste that app.powerbi.com/view?r=... URL instead." } },
|
||||
{ "@type": "Question", "name": "Is it safe to put a Power BI dashboard on signage?", "acceptedAnswer": { "@type": "Answer", "text": "Only if the data is non-confidential. Publish to web makes the report public to anyone with the link. For private data, self-host ScreenTinker on a trusted LAN and point the Webpage widget at an internal, network-restricted dashboard URL instead." } },
|
||||
{ "@type": "Question", "name": "Can I use Embed for your organization on a screen?", "acceptedAnswer": { "@type": "Answer", "text": "Generally no. That path requires each viewer to sign in with an organizational account, and an unattended signage player cannot complete that login - it will show a sign-in wall." } },
|
||||
{ "@type": "Question", "name": "How often does the dashboard refresh?", "acceptedAnswer": { "@type": "Answer", "text": "On Power BI's cached schedule for Publish-to-web (roughly hourly, with visuals updating every few minutes in an open view), and never fresher than the dataset's own scheduled refresh." } },
|
||||
{ "@type": "Question", "name": "Is there a native Power BI widget?", "acceptedAnswer": { "@type": "Answer", "text": "No - this uses the universal Webpage widget with a Publish-to-web URL. That is the supported way to show Power BI on ScreenTinker." } }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
154
frontend/integrations/rss-digital-signage.html
Normal file
154
frontend/integrations/rss-digital-signage.html
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>RSS Feeds on Digital Signage - News Tickers (2026) | ScreenTinker</title>
|
||||
<meta name="description" content="Show live RSS headlines on your digital signage with ScreenTinker's native RSS widget. Build news tickers, blog headlines, and status boards. Free and open source.">
|
||||
<meta name="keywords" content="rss digital signage, rss ticker signage, news ticker digital signage, rss feed on tv, headlines digital signage, rss widget signage">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/integrations/rss-digital-signage.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/integrations/rss-digital-signage.html">
|
||||
<meta property="og:title" content="RSS Feeds on Digital Signage - News Tickers (2026)">
|
||||
<meta property="og:description" content="Show live RSS headlines on your screens with ScreenTinker's native RSS widget. Build news tickers and status boards.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="RSS Feeds on Digital Signage - News Tickers (2026)">
|
||||
<meta name="twitter:description" content="Show live RSS headlines on your screens with ScreenTinker's native RSS widget. Build news tickers and status boards.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/integrations/">Integrations</a>
|
||||
<span>/</span>
|
||||
<span>RSS on Digital Signage</span>
|
||||
</nav>
|
||||
|
||||
<h1>RSS Feeds on Digital Signage: News Tickers & Headlines</h1>
|
||||
<p class="lead">ScreenTinker has a native RSS widget. Point it at a feed URL and it renders live headlines on screen - perfect for a news ticker, blog headlines, or an internal announcement board.</p>
|
||||
|
||||
<h2>The short version</h2>
|
||||
<p>The RSS widget is built in - no plugins or embeds. You give it a feed URL like <code>https://example.com/feed.xml</code> and it pulls the latest items and renders the headlines on screen. Because it is a configurable widget, you can add it to playlists and layouts, and it can share a multi-zone layout with your main content so headlines run alongside images or video.</p>
|
||||
|
||||
<h2>Step by step</h2>
|
||||
<ol>
|
||||
<li>Open the <strong>Content Library</strong> (or the layout editor) in your ScreenTinker dashboard.</li>
|
||||
<li>Add the <strong>RSS</strong> widget.</li>
|
||||
<li>Configure it with your feed URL, for example <code>https://example.com/feed.xml</code>. The widget fetches the feed and renders the current headlines.</li>
|
||||
<li>Add the RSS widget to a <strong>Playlist</strong>, or place it in a zone of a multi-zone <strong>layout</strong> next to your other content.</li>
|
||||
<li>Publish and <strong>schedule</strong> the playlist or layout, then assign it to one or more screens.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Tips & use cases</h2>
|
||||
<ul>
|
||||
<li><strong>News ticker.</strong> The classic use - a strip of scrolling or rotating headlines along the bottom or side of the screen while the main zone shows video or promos.</li>
|
||||
<li><strong>Multi-zone layouts.</strong> Put the RSS widget in one zone and your primary content in another so headlines and the main message play at the same time instead of taking turns.</li>
|
||||
<li><strong>Internal announcements.</strong> If your intranet, wiki, or CMS can publish an RSS feed, point the widget at it to broadcast staff updates without emailing everyone.</li>
|
||||
<li><strong>Status pages.</strong> Many status and monitoring tools expose an RSS feed - surface incidents on an ops or NOC wall board.</li>
|
||||
<li><strong>Blog and content marketing.</strong> Show your own latest posts in a waiting area or office lobby to keep visitors engaged with fresh material.</li>
|
||||
<li><strong>Which feeds work.</strong> Any standard RSS or Atom feed URL that returns headline items. Feeds you control are the most reliable, since you know they will stay online and public.</li>
|
||||
</ul>
|
||||
|
||||
<h2>FAQ</h2>
|
||||
<h3>Is the RSS widget really built in?</h3>
|
||||
<p>Yes. RSS is a native ScreenTinker widget - you configure a feed URL and it renders headlines. There is no third-party plugin or embed code to manage.</p>
|
||||
|
||||
<h3>What kind of feed URL do I use?</h3>
|
||||
<p>A standard RSS or Atom feed URL, such as <code>https://example.com/feed.xml</code>. Most blogs, news sites, CMSes, and status pages publish one.</p>
|
||||
|
||||
<h3>Can the RSS ticker share the screen with other content?</h3>
|
||||
<p>Yes. Place the RSS widget in one zone of a multi-zone layout and your main content in another. Headlines and your primary message then display at the same time.</p>
|
||||
|
||||
<h3>Can I use an internal or private feed?</h3>
|
||||
<p>The widget fetches a feed URL, so any feed the player can reach works - including an internal feed on your network for a self-hosted deployment. Publish your announcements as RSS and point the widget at that URL.</p>
|
||||
|
||||
<h3>Does it work on all ScreenTinker players?</h3>
|
||||
<p>Yes. The RSS widget runs on Android TV, Fire TV, Tizen, webOS, Vega, Raspberry Pi, Windows, ChromeOS, and the browser player - all free.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related integrations & guides</h2>
|
||||
<ul>
|
||||
<li><a href="/integrations/">All ScreenTinker integrations</a></li>
|
||||
<li><a href="/integrations/youtube-digital-signage.html">How to display YouTube videos on digital signage</a></li>
|
||||
<li><a href="/integrations/weather-digital-signage.html">Weather widget for digital signage</a></li>
|
||||
<li><a href="/guides/what-is-digital-signage.html">What is digital signage?</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Ready to put headlines on your screens?</h2>
|
||||
<p>Free plan supports 1 device. Self-host it free, or start on the cloud in minutes.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Integrations", "item": "https://screentinker.com/integrations/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "RSS on Digital Signage", "item": "https://screentinker.com/integrations/rss-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{ "@type": "Question", "name": "Is the RSS widget really built in?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. RSS is a native ScreenTinker widget - you configure a feed URL and it renders headlines. There is no third-party plugin or embed code to manage." } },
|
||||
{ "@type": "Question", "name": "What kind of feed URL do I use?", "acceptedAnswer": { "@type": "Answer", "text": "A standard RSS or Atom feed URL, such as https://example.com/feed.xml. Most blogs, news sites, CMSes, and status pages publish one." } },
|
||||
{ "@type": "Question", "name": "Can the RSS ticker share the screen with other content?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Place the RSS widget in one zone of a multi-zone layout and your main content in another. Headlines and your primary message then display at the same time." } },
|
||||
{ "@type": "Question", "name": "Can I use an internal or private feed?", "acceptedAnswer": { "@type": "Answer", "text": "The widget fetches a feed URL, so any feed the player can reach works - including an internal feed on your network for a self-hosted deployment. Publish your announcements as RSS and point the widget at that URL." } },
|
||||
{ "@type": "Question", "name": "Does it work on all ScreenTinker players?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. The RSS widget runs on Android TV, Fire TV, Tizen, webOS, Vega, Raspberry Pi, Windows, ChromeOS, and the browser player - all free." } }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
154
frontend/integrations/weather-digital-signage.html
Normal file
154
frontend/integrations/weather-digital-signage.html
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Weather Widget for Digital Signage (2026) | ScreenTinker</title>
|
||||
<meta name="description" content="Show current weather on your digital signage with ScreenTinker's native weather widget. Set a location and timezone, pair it with a clock in a lobby layout. Free and open source.">
|
||||
<meta name="keywords" content="weather digital signage, weather widget signage, weather on tv signage, lobby weather display, digital signage weather clock, weather board signage">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/integrations/weather-digital-signage.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/integrations/weather-digital-signage.html">
|
||||
<meta property="og:title" content="Weather Widget for Digital Signage (2026)">
|
||||
<meta property="og:description" content="Show current weather on your screens with ScreenTinker's native weather widget. Set a location, pair it with a clock in a lobby layout.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Weather Widget for Digital Signage (2026)">
|
||||
<meta name="twitter:description" content="Show current weather on your screens with ScreenTinker's native weather widget. Set a location, pair it with a clock in a lobby layout.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/integrations/">Integrations</a>
|
||||
<span>/</span>
|
||||
<span>Weather on Digital Signage</span>
|
||||
</nav>
|
||||
|
||||
<h1>Weather Widget for Digital Signage</h1>
|
||||
<p class="lead">ScreenTinker has a native weather widget. Set a location, optionally a timezone, and it shows current conditions on screen - a lobby-board staple next to a clock and your main content.</p>
|
||||
|
||||
<h2>The short version</h2>
|
||||
<p>The weather widget is built in. You configure a location and, if you want, a timezone, and it renders current conditions on the display. It is most often placed in a multi-zone layout alongside a clock and a main content area to make a clean reception or lobby board.</p>
|
||||
|
||||
<h2>Step by step</h2>
|
||||
<ol>
|
||||
<li>Open the <strong>Content Library</strong> (or the layout editor) in your ScreenTinker dashboard.</li>
|
||||
<li>Add the <strong>Weather</strong> widget.</li>
|
||||
<li>Configure it with your <strong>location</strong>, and optionally set a <strong>timezone</strong>. The widget renders current conditions for that location.</li>
|
||||
<li>Add the widget to a <strong>Playlist</strong>, or place it in a zone of a multi-zone <strong>layout</strong> next to a clock and your main content.</li>
|
||||
<li>Publish and <strong>schedule</strong> the playlist or layout, then assign it to one or more screens.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Tips & use cases</h2>
|
||||
<ul>
|
||||
<li><strong>Pair it with a Clock.</strong> ScreenTinker's native Clock widget plus the weather widget is the classic lobby combo - people glance up for the time and today's conditions.</li>
|
||||
<li><strong>Reception and lobby boards.</strong> A multi-zone layout with weather in a corner, a clock, and a main zone for announcements or a welcome message makes a polished front-of-house display.</li>
|
||||
<li><strong>Set the location correctly.</strong> Configure the location for where the screen physically lives so staff and visitors see local conditions.</li>
|
||||
<li><strong>Set the timezone when it matters.</strong> If you run screens across regions, set the timezone so a paired clock and any time-based content line up with the local site.</li>
|
||||
<li><strong>Keep it as a supporting element.</strong> Weather works best as a small, always-there widget in a zone rather than a full-screen item - it complements your main message instead of competing with it.</li>
|
||||
<li><strong>Multi-site fleets.</strong> Give each location its own layout with the local weather so every site's board feels local, all managed from one dashboard.</li>
|
||||
</ul>
|
||||
|
||||
<h2>FAQ</h2>
|
||||
<h3>Is the weather widget built in?</h3>
|
||||
<p>Yes. Weather is a native ScreenTinker widget. You configure a location (and optionally a timezone) and it renders current conditions - no third-party embed required.</p>
|
||||
|
||||
<h3>What do I configure?</h3>
|
||||
<p>A location, and optionally a timezone. That is enough for the widget to show current conditions on screen.</p>
|
||||
|
||||
<h3>Can I show weather and a clock together?</h3>
|
||||
<p>Yes. The Clock is also a native widget. Put both into a multi-zone layout - weather in one zone, clock in another, main content in a third - for a lobby or reception board.</p>
|
||||
|
||||
<h3>Can I show different weather on different screens?</h3>
|
||||
<p>Yes. Configure a layout per location with that site's location set, then assign each layout to the screens at that site.</p>
|
||||
|
||||
<h3>Does it work on all ScreenTinker players?</h3>
|
||||
<p>Yes. The weather widget runs on Android TV, Fire TV, Tizen, webOS, Vega, Raspberry Pi, Windows, ChromeOS, and the browser player - all free.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related integrations & guides</h2>
|
||||
<ul>
|
||||
<li><a href="/integrations/">All ScreenTinker integrations</a></li>
|
||||
<li><a href="/integrations/youtube-digital-signage.html">How to display YouTube videos on digital signage</a></li>
|
||||
<li><a href="/integrations/rss-digital-signage.html">RSS feeds on digital signage: news tickers & headlines</a></li>
|
||||
<li><a href="/guides/what-is-digital-signage.html">What is digital signage?</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Ready to build a lobby board?</h2>
|
||||
<p>Free plan supports 1 device. Self-host it free, or start on the cloud in minutes.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Integrations", "item": "https://screentinker.com/integrations/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "Weather on Digital Signage", "item": "https://screentinker.com/integrations/weather-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{ "@type": "Question", "name": "Is the weather widget built in?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Weather is a native ScreenTinker widget. You configure a location (and optionally a timezone) and it renders current conditions - no third-party embed required." } },
|
||||
{ "@type": "Question", "name": "What do I configure?", "acceptedAnswer": { "@type": "Answer", "text": "A location, and optionally a timezone. That is enough for the widget to show current conditions on screen." } },
|
||||
{ "@type": "Question", "name": "Can I show weather and a clock together?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. The Clock is also a native widget. Put both into a multi-zone layout - weather in one zone, clock in another, main content in a third - for a lobby or reception board." } },
|
||||
{ "@type": "Question", "name": "Can I show different weather on different screens?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Configure a layout per location with that site's location set, then assign each layout to the screens at that site." } },
|
||||
{ "@type": "Question", "name": "Does it work on all ScreenTinker players?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. The weather widget runs on Android TV, Fire TV, Tizen, webOS, Vega, Raspberry Pi, Windows, ChromeOS, and the browser player - all free." } }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
155
frontend/integrations/youtube-digital-signage.html
Normal file
155
frontend/integrations/youtube-digital-signage.html
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>How to Display YouTube on Digital Signage (2026) | ScreenTinker</title>
|
||||
<meta name="description" content="Play YouTube videos on your digital signage screens with ScreenTinker's native YouTube widget. Paste a URL, add it to a playlist, schedule it. Free and open source.">
|
||||
<meta name="keywords" content="youtube digital signage, youtube on signage, play youtube on tv signage, youtube video signage, youtube widget signage, loop youtube signage">
|
||||
<meta name="robots" content="index, follow">
|
||||
<link rel="canonical" href="https://screentinker.com/integrations/youtube-digital-signage.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://screentinker.com/integrations/youtube-digital-signage.html">
|
||||
<meta property="og:title" content="How to Display YouTube on Digital Signage (2026)">
|
||||
<meta property="og:description" content="Play YouTube videos on your signage screens with ScreenTinker's native YouTube widget. Paste a URL, schedule it, done.">
|
||||
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
<meta property="og:site_name" content="ScreenTinker">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="How to Display YouTube on Digital Signage (2026)">
|
||||
<meta name="twitter:description" content="Play YouTube videos on your signage screens with ScreenTinker's native YouTube widget. Paste a URL, schedule it, done.">
|
||||
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
||||
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<link rel="stylesheet" href="/css/seo-page.css">
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<div class="nav-inner">
|
||||
<div class="nav-logo">
|
||||
<a href="/" style="display:flex;align-items:center;gap:10px">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
||||
<span class="nav-logo-text">ScreenTinker</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/#features">Features</a>
|
||||
<a href="/#pricing">Pricing</a>
|
||||
<a href="/#compare">Compare</a>
|
||||
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
||||
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="article">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<a href="/">Home</a>
|
||||
<span>/</span>
|
||||
<a href="/integrations/">Integrations</a>
|
||||
<span>/</span>
|
||||
<span>YouTube on Digital Signage</span>
|
||||
</nav>
|
||||
|
||||
<h1>How to Display YouTube Videos on Digital Signage</h1>
|
||||
<p class="lead">YouTube is a built-in content type in ScreenTinker. Paste a video URL, give it a name, and it plays on your screens like any other media - no embed code, no browser hacks.</p>
|
||||
|
||||
<h2>The short version</h2>
|
||||
<p>ScreenTinker has a native YouTube widget, so you do not need to download videos or wire up a browser workaround. In the Content Library you choose <strong>Add YouTube</strong>, paste the video URL, give it a name, and it becomes a library item you can drop into any playlist, schedule, and assign to screens. On the display it plays muted (browser autoplay policy) using YouTube's iframe player.</p>
|
||||
|
||||
<h2>Step by step</h2>
|
||||
<ol>
|
||||
<li>Open the <strong>Content Library</strong> in your ScreenTinker dashboard.</li>
|
||||
<li>Click <strong>Add YouTube</strong> and paste the YouTube video URL (for example <code>https://www.youtube.com/watch?v=...</code>).</li>
|
||||
<li>Give the item a name so you can find it later - something like "Brand reel" or "Product loop."</li>
|
||||
<li>Save it. The video now appears in your library alongside images and uploaded video. The dashboard preview plays it muted so autoplay works.</li>
|
||||
<li>Add the YouTube item to a <strong>Playlist</strong>, set its duration or let it run to the end of the clip, and order it with your other content.</li>
|
||||
<li>Publish the playlist, then <strong>schedule</strong> it or assign it directly to one or more screens.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Tips & use cases</h2>
|
||||
<ul>
|
||||
<li><strong>It plays muted.</strong> Browsers only allow autoplay when audio is muted, so plan for silent playback. Pick videos that read well without sound, or add on-screen captions in the source video.</li>
|
||||
<li><strong>Great for brand reels and product loops.</strong> A single hero video on a lobby or retail screen is one of the easiest ways to fill a display with high-production content you already have.</li>
|
||||
<li><strong>Ambient and atmosphere.</strong> Aquarium scenes, fireplaces, and slow B-roll make good background content for waiting areas when you want motion without a hard message.</li>
|
||||
<li><strong>Mix it into a rotation.</strong> Because a YouTube item behaves like any other playlist entry, you can alternate a brand video with images, a menu, or an RSS ticker.</li>
|
||||
<li><strong>Schedule it.</strong> Run a promo video during business hours and swap to quieter content after close using the same scheduling tools as the rest of your content.</li>
|
||||
<li><strong>Pick stable URLs.</strong> Use videos on channels you control or trust, so the content does not disappear or get set to private mid-campaign.</li>
|
||||
</ul>
|
||||
|
||||
<h2>FAQ</h2>
|
||||
<h3>Do I need to download the YouTube video first?</h3>
|
||||
<p>No. The YouTube widget is native - you paste the video URL and ScreenTinker's player streams it through YouTube's iframe player. There is nothing to download or re-upload.</p>
|
||||
|
||||
<h3>Why does the video play without sound?</h3>
|
||||
<p>Browsers require muted playback for autoplay to work reliably, so YouTube content plays muted on the display and in the dashboard preview. Choose videos that work as silent visuals or that have burned-in captions.</p>
|
||||
|
||||
<h3>Can I loop a single YouTube video all day?</h3>
|
||||
<p>Yes. Put the YouTube item in a playlist on its own (or with a short rotation) and assign that playlist to the screen. The playlist repeats, so the video loops.</p>
|
||||
|
||||
<h3>Can I schedule YouTube content to specific times?</h3>
|
||||
<p>Yes. YouTube items schedule exactly like images and uploaded video - assign the playlist to a daypart or specific screens using ScreenTinker's scheduling.</p>
|
||||
|
||||
<h3>Does this work on every player?</h3>
|
||||
<p>The YouTube widget works on ScreenTinker's players - Android TV, Fire TV, Tizen, webOS, Vega, Raspberry Pi, Windows, ChromeOS, and the browser player - all free.</p>
|
||||
|
||||
<div class="related">
|
||||
<h2>Related integrations & guides</h2>
|
||||
<ul>
|
||||
<li><a href="/integrations/">All ScreenTinker integrations</a></li>
|
||||
<li><a href="/integrations/rss-digital-signage.html">RSS feeds on digital signage: news tickers & headlines</a></li>
|
||||
<li><a href="/integrations/weather-digital-signage.html">Weather widget for digital signage</a></li>
|
||||
<li><a href="/guides/what-is-digital-signage.html">What is digital signage?</a></li>
|
||||
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="cta">
|
||||
<h2>Ready to put YouTube on your screens?</h2>
|
||||
<p>Free plan supports 1 device. Self-host it free, or start on the cloud in minutes.</p>
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||
<div class="links">
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="/legal/terms.html">Terms</a>
|
||||
<a href="/legal/privacy.html">Privacy</a>
|
||||
<a href="/legal/third-party.html">Licenses</a>
|
||||
<a href="/app#/login">Sign In</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
||||
{ "@type": "ListItem", "position": 2, "name": "Integrations", "item": "https://screentinker.com/integrations/" },
|
||||
{ "@type": "ListItem", "position": 3, "name": "YouTube on Digital Signage", "item": "https://screentinker.com/integrations/youtube-digital-signage.html" }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{ "@type": "Question", "name": "Do I need to download the YouTube video first?", "acceptedAnswer": { "@type": "Answer", "text": "No. The YouTube widget is native - you paste the video URL and ScreenTinker's player streams it through YouTube's iframe player. There is nothing to download or re-upload." } },
|
||||
{ "@type": "Question", "name": "Why does the video play without sound?", "acceptedAnswer": { "@type": "Answer", "text": "Browsers require muted playback for autoplay to work reliably, so YouTube content plays muted on the display and in the dashboard preview. Choose videos that work as silent visuals or that have burned-in captions." } },
|
||||
{ "@type": "Question", "name": "Can I loop a single YouTube video all day?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Put the YouTube item in a playlist on its own (or with a short rotation) and assign that playlist to the screen. The playlist repeats, so the video loops." } },
|
||||
{ "@type": "Question", "name": "Can I schedule YouTube content to specific times?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. YouTube items schedule exactly like images and uploaded video - assign the playlist to a daypart or specific screens using ScreenTinker's scheduling." } },
|
||||
{ "@type": "Question", "name": "Does this work on every player?", "acceptedAnswer": { "@type": "Answer", "text": "The YouTube widget works on ScreenTinker's players - Android TV, Fire TV, Tizen, webOS, Vega, Raspberry Pi, Windows, ChromeOS, and the browser player - all free." } }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -5,8 +5,8 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<!-- Primary SEO -->
|
||||
<title>ScreenTinker - Self-Hosted Open-Source Digital Signage CMS | Free Display Management</title>
|
||||
<meta name="description" content="Open-source digital signage CMS. Free plan, self-host or cloud. Manage TVs, video walls, kiosks, and schedules across Android, Raspberry Pi, Windows, and any browser. MIT licensed.">
|
||||
<title>Open-Source Digital Signage CMS — Self-Hosted & Free | ScreenTinker</title>
|
||||
<meta name="description" content="Open-source, self-hostable digital signage CMS. Manage TVs, video walls, kiosks & schedules on Android, Raspberry Pi, Windows & any browser. Free plan — start today.">
|
||||
<meta name="keywords" content="digital signage, open source digital signage, self hosted signage, digital signage cms, free digital signage software, digital signage raspberry pi, digital signage android tv, video wall software, kiosk software, screen management">
|
||||
<meta name="author" content="ScreenTinker">
|
||||
<meta name="robots" content="index, follow">
|
||||
|
|
@ -32,7 +32,8 @@
|
|||
|
||||
<!-- Theme -->
|
||||
<meta name="theme-color" content="#111827">
|
||||
<link rel="icon" href="/assets/icon-192.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/assets/icon-192.png">
|
||||
<link rel="icon" type="image/png" sizes="512x512" href="/assets/icon-512.png">
|
||||
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
||||
<style>
|
||||
* { margin:0; padding:0; box-sizing:border-box; }
|
||||
|
|
@ -199,7 +200,7 @@
|
|||
<section class="hero">
|
||||
<div class="hero-badge">⚡ Open source · Free plan · 14-day Pro trial, no credit card</div>
|
||||
<h1>Open-Source Digital Signage<br>for <span>Any Screen</span></h1>
|
||||
<p>Manage content on TVs, displays, and kiosks from anywhere. Remote control, video walls, scheduling, and analytics. Self-host or use our managed cloud.</p>
|
||||
<p>Free, open-source <strong>digital signage software</strong> to manage TVs, video walls, and kiosks from anywhere. A complete <strong>digital signage CMS</strong> with remote control, scheduling, playlists, and analytics — <strong>self-host it</strong> on your own server or use our managed cloud.</p>
|
||||
<div class="hero-btns">
|
||||
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free Trial</a>
|
||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px">
|
||||
|
|
@ -213,7 +214,7 @@
|
|||
<!-- Intro video -->
|
||||
<div style="max-width:800px;margin:32px auto;border-radius:12px;overflow:hidden;border:1px solid var(--border)">
|
||||
<div style="position:relative;padding-bottom:56.25%;height:0">
|
||||
<iframe src="https://www.youtube.com/embed/Sq3RbnuDgKw?rel=0" title="ScreenTinker - Open Source Digital Signage for Any Screen" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:100%"></iframe>
|
||||
<iframe src="https://www.youtube-nocookie.com/embed/Sq3RbnuDgKw?rel=0" title="ScreenTinker - Open Source Digital Signage for Any Screen" loading="lazy" width="800" height="450" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:100%"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -232,10 +233,21 @@
|
|||
</a>
|
||||
</section>
|
||||
|
||||
<!-- How it works -->
|
||||
<section class="features" id="how-it-works">
|
||||
<h2>Up and Running in Minutes</h2>
|
||||
<p class="subtitle">No proprietary hardware, no complicated setup.</p>
|
||||
<div class="feature-grid" style="grid-template-columns:repeat(auto-fill,minmax(280px,1fr))">
|
||||
<div class="feature-card"><div class="feature-icon">1️⃣</div><h3>Connect a screen</h3><p>Install the free player on an Android TV, Fire TV, Raspberry Pi, Windows PC, or open a browser tab — then pair it with a code.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">2️⃣</div><h3>Add your content</h3><p>Upload images and video, build playlists and multi-zone layouts, or design screens with built-in widgets.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">3️⃣</div><h3>Schedule and publish</h3><p>Assign content to displays or groups, set day/time schedules, and push live. Change it any time from your phone.</p></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Features -->
|
||||
<section class="features" id="features">
|
||||
<h2>Everything You Need</h2>
|
||||
<p class="subtitle">One platform to manage all your digital signage</p>
|
||||
<p class="subtitle">Every feature you'd expect from an enterprise <strong>digital signage CMS</strong> — video walls, scheduling, proof-of-play, and remote monitoring — free and open source.</p>
|
||||
<div class="feature-grid">
|
||||
<div class="feature-card"><div class="feature-icon">📺</div><h3>Multi-Zone Layouts</h3><p>Split screens into zones with a drag-and-drop editor. 7 built-in templates or create your own.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">🎬</div><h3>Video Wall</h3><p>Combine multiple displays into one giant screen. Automatic bezel compensation. Any grid size.</p></div>
|
||||
|
|
@ -256,14 +268,30 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Use cases / industries -->
|
||||
<section class="features" id="use-cases">
|
||||
<h2>Digital Signage for Any Space</h2>
|
||||
<p class="subtitle">One platform, every use case.</p>
|
||||
<div class="feature-grid">
|
||||
<div class="feature-card"><div class="feature-icon">🛒</div><h3>Retail & QSR</h3><p>Menu boards, promotions, and price updates pushed to every location instantly.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">🍽</div><h3>Restaurants & Cafés</h3><p>Digital menu boards with dayparting — breakfast, lunch, and dinner menus that switch themselves on schedule.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">🏢</div><h3>Offices & Corporate</h3><p>Lobby welcome screens, meeting-room signs, KPI dashboards, and internal comms.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">🏫</div><h3>Schools & Universities</h3><p>Campus announcements, event calendars, and emergency alerts across every building.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">🏥</div><h3>Healthcare & Clinics</h3><p>Waiting-room info, wayfinding, and check-in kiosks that keep playing even offline.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">⛪</div><h3>Churches & Nonprofits</h3><p>Free, self-hostable signage for lobbies and sanctuaries with no recurring cost.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">🏋</div><h3>Gyms & Fitness</h3><p>Class schedules, promos, and live directories on any screen you already own.</p></div>
|
||||
<div class="feature-card"><div class="feature-icon">🏢</div><h3>Building & Staff Directories</h3><p>Scrolling lobby, tenant, and staff directories with categories and anti-burn-in.</p></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Platforms -->
|
||||
<section class="platforms" id="platforms">
|
||||
<h2>Runs on Everything</h2>
|
||||
<p class="subtitle">No hardware lock-in. Use any screen you already have.</p>
|
||||
<div class="platform-grid">
|
||||
<div class="platform-item"><div class="icon">🤖</div><div class="name">Android TV</div></div>
|
||||
<div class="platform-item"><div class="icon">🔥</div><div class="name">Fire TV</div></div>
|
||||
<div class="platform-item"><div class="icon">🥏</div><div class="name">Raspberry Pi</div></div>
|
||||
<a class="platform-item" href="/guides/digital-signage-android-tv.html" style="color:inherit"><div class="icon">🤖</div><div class="name">Android TV</div></a>
|
||||
<a class="platform-item" href="/guides/digital-signage-android-tv.html" style="color:inherit"><div class="icon">🔥</div><div class="name">Fire TV</div></a>
|
||||
<a class="platform-item" href="/guides/raspberry-pi-digital-signage.html" style="color:inherit"><div class="icon">🥏</div><div class="name">Raspberry Pi</div></a>
|
||||
<div class="platform-item"><div class="icon">💻</div><div class="name">Windows</div></div>
|
||||
<div class="platform-item"><div class="icon">🌐</div><div class="name">ChromeOS</div></div>
|
||||
<div class="platform-item"><div class="icon">📺</div><div class="name">LG webOS</div></div>
|
||||
|
|
@ -339,6 +367,49 @@
|
|||
<div style="font-weight:600;margin-bottom:4px">ScreenTinker vs OptiSigns</div>
|
||||
<div style="font-size:13px;color:var(--muted)">Side by side feature and price comparison.</div>
|
||||
</a>
|
||||
<a href="/guides/open-source-digital-signage.html" style="display:block;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;color:var(--text);transition:border-color 0.2s">
|
||||
<div style="font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:6px">Guide</div>
|
||||
<div style="font-weight:600;margin-bottom:4px">Open-source digital signage explained</div>
|
||||
<div style="font-size:13px;color:var(--muted)">Why open source, and how ScreenTinker fits.</div>
|
||||
</a>
|
||||
<a href="/guides/what-is-digital-signage.html" style="display:block;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;color:var(--text);transition:border-color 0.2s">
|
||||
<div style="font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:6px">Guide</div>
|
||||
<div style="font-weight:600;margin-bottom:4px">What is digital signage?</div>
|
||||
<div style="font-size:13px;color:var(--muted)">Beginner's guide: how it works and what it costs.</div>
|
||||
</a>
|
||||
<a href="/compare/xibo-alternative.html" style="display:block;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;color:var(--text);transition:border-color 0.2s">
|
||||
<div style="font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:6px">Compare</div>
|
||||
<div style="font-weight:600;margin-bottom:4px">ScreenTinker vs Xibo</div>
|
||||
<div style="font-size:13px;color:var(--muted)">Open source vs open source — and the paid players.</div>
|
||||
</a>
|
||||
<a href="/compare/anthias-alternative.html" style="display:block;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;color:var(--text);transition:border-color 0.2s">
|
||||
<div style="font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:6px">Compare</div>
|
||||
<div style="font-weight:600;margin-bottom:4px">ScreenTinker vs Anthias</div>
|
||||
<div style="font-size:13px;color:var(--muted)">Beyond one Pi, one screen.</div>
|
||||
</a>
|
||||
<a href="/integrations/" style="display:block;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;color:var(--text);transition:border-color 0.2s">
|
||||
<div style="font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:6px">Integrations</div>
|
||||
<div style="font-weight:600;margin-bottom:4px">Connect Google Slides, Canva, Power BI & more</div>
|
||||
<div style="font-size:13px;color:var(--muted)">Native widgets + embed any web app.</div>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- FAQ (visible copy mirrors the FAQPage JSON-LD below) -->
|
||||
<section class="features" id="faq" style="max-width:820px">
|
||||
<h2>Frequently Asked Questions</h2>
|
||||
<p class="subtitle">Everything you need to know about running open-source digital signage.</p>
|
||||
<div style="display:flex;flex-direction:column;gap:20px">
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">Is there free digital signage software?</h3><p style="color:var(--muted);font-size:15px">Yes. ScreenTinker is free and open source (MIT licensed). The free cloud plan runs 1 display with 500 MB of storage, and if you self-host there's no per-screen fee at all — run as many displays as your own server can handle. New accounts also get a 14-day Pro trial (15 displays) with no credit card required.</p></div>
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">Can I run digital signage on a Raspberry Pi?</h3><p style="color:var(--muted);font-size:15px">Yes. A Raspberry Pi 4 or newer makes an excellent low-cost signage player. Our one-line installer sets up kiosk mode, auto-start, and pairing for you. See the full walkthrough in our <a href="/guides/raspberry-pi-digital-signage.html">Raspberry Pi digital signage guide</a>.</p></div>
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">Does ScreenTinker work on Android TV and Fire TV?</h3><p style="color:var(--muted);font-size:15px">Yes. Install the free APK on any Android TV box or Amazon Fire TV Stick to turn it into a managed signage display, complete with kiosk mode and live remote control. Step-by-step instructions are in our <a href="/guides/digital-signage-android-tv.html">Android TV & Fire TV guide</a>. ScreenTinker also runs on Windows, ChromeOS, LG webOS, Samsung Tizen, and any web browser.</p></div>
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">What's the difference between self-hosted and cloud digital signage?</h3><p style="color:var(--muted);font-size:15px">With cloud, we host everything and you just sign in — the fastest way to start. With self-hosting, you deploy ScreenTinker on your own server or VPS so your content and device data never leave your network, with no recurring SaaS fees. You can switch later. Our <a href="/guides/self-hosted-digital-signage.html">self-hosted digital signage guide</a> covers sizing, deployment, TLS, and backups.</p></div>
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">Is ScreenTinker really open source?</h3><p style="color:var(--muted);font-size:15px">Yes. The full platform is released under the permissive MIT license on <a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>. You can read the code, self-host it, modify it, and even white-label it — no vendor lock-in and no proprietary black box.</p></div>
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">What can I put on my screens?</h3><p style="color:var(--muted);font-size:15px">Images, video, playlists, multi-zone layouts, and live widgets — clocks, weather, RSS tickers, countdowns, QR codes, web pages, and scrolling lobby/staff directories. You can schedule different content by day and time, per display or per group.</p></div>
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">Do my displays keep playing if the internet goes down?</h3><p style="color:var(--muted);font-size:15px">Yes. ScreenTinker players cache their content locally and keep playing during an internet or server outage, then sync automatically once the connection returns. No blank screens.</p></div>
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">Can I control my screens remotely?</h3><p style="color:var(--muted);font-size:15px">Yes, on every plan. See a live view of what's on each screen, push content instantly, and send remote key presses or power commands. (Live view and key presses on Android require the on-device accessibility permission.)</p></div>
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">Is there a limit on how many screens I can manage?</h3><p style="color:var(--muted);font-size:15px">On cloud plans, your display count is set by your tier (1 free, up to 15 on Pro, more on Enterprise). If you self-host, there is no built-in device cap — you're limited only by your own hardware.</p></div>
|
||||
<div><h3 style="font-size:18px;margin-bottom:6px">How does ScreenTinker compare to Yodeck, ScreenCloud, and OptiSigns?</h3><p style="color:var(--muted);font-size:15px">ScreenTinker is typically a fraction of the price at scale and is the only one of the four you can self-host. See the detailed breakdowns: <a href="/compare/yodeck-alternative.html">vs Yodeck</a>, <a href="/compare/screencloud-alternative.html">vs ScreenCloud</a>, and <a href="/compare/optisigns-alternative.html">vs OptiSigns</a>.</p></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
@ -351,7 +422,7 @@
|
|||
</main>
|
||||
|
||||
<!-- Footer -->
|
||||
<div style="border-top:1px solid var(--border);background:rgba(15,23,42,0.4)">
|
||||
<footer style="border-top:1px solid var(--border);background:rgba(15,23,42,0.4)">
|
||||
<div style="max-width:1200px;margin:0 auto;padding:48px 24px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px">
|
||||
<div>
|
||||
<div style="font-weight:700;color:var(--accent);margin-bottom:12px">ScreenTinker</div>
|
||||
|
|
@ -395,7 +466,7 @@
|
|||
<div style="max-width:1200px;margin:0 auto;padding:16px 24px 32px;border-top:1px solid var(--border);color:var(--dim);font-size:13px;text-align:center">
|
||||
© 2026 ScreenTinker. All rights reserved.
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Enterprise contact form modal. Opened by the Enterprise / Custom card's
|
||||
Contact Us button. Submits to POST /api/contact/enterprise which sends
|
||||
|
|
@ -455,39 +526,31 @@
|
|||
"name": "ScreenTinker",
|
||||
"applicationCategory": "BusinessApplication",
|
||||
"applicationSubCategory": "Digital Signage",
|
||||
"operatingSystem": "Android, Web, Windows, Linux, ChromeOS",
|
||||
"operatingSystem": "Android, Web browser, Windows, Linux, ChromeOS, LG webOS, Samsung Tizen, Fire TV",
|
||||
"description": "Self-hosted, open-source digital signage CMS. MIT licensed. Manage TVs, video walls, kiosks, and content schedules across Android, Raspberry Pi, Windows, ChromeOS, and any browser.",
|
||||
"url": "https://screentinker.com",
|
||||
"url": "https://screentinker.com/",
|
||||
"image": "https://screentinker.com/assets/dashboard-preview.png",
|
||||
"screenshot": "https://screentinker.com/assets/dashboard-preview.png",
|
||||
"license": "https://opensource.org/license/mit",
|
||||
"isAccessibleForFree": true,
|
||||
"softwareHelp": "https://screentinker.com/guides/self-hosted-digital-signage.html",
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "ScreenTinker",
|
||||
"url": "https://screentinker.com/",
|
||||
"logo": "https://screentinker.com/assets/icon-512.png"
|
||||
},
|
||||
"offers": {
|
||||
"@type": "AggregateOffer",
|
||||
"priceCurrency": "USD",
|
||||
"lowPrice": "0",
|
||||
"highPrice": "99",
|
||||
"offerCount": "3",
|
||||
"offers": [
|
||||
{
|
||||
"@type": "Offer",
|
||||
"price": "0",
|
||||
"priceCurrency": "USD",
|
||||
"name": "Free",
|
||||
"description": "1 device, 500MB storage"
|
||||
},
|
||||
{
|
||||
"@type": "Offer",
|
||||
"price": "39",
|
||||
"priceCurrency": "USD",
|
||||
"priceValidUntil": "2027-12-31",
|
||||
"name": "Starter",
|
||||
"description": "5 devices, 5GB storage, remote URL streaming"
|
||||
},
|
||||
{
|
||||
"@type": "Offer",
|
||||
"price": "99",
|
||||
"priceCurrency": "USD",
|
||||
"priceValidUntil": "2027-12-31",
|
||||
"name": "Pro",
|
||||
"description": "15 devices, 20GB storage, all features"
|
||||
}
|
||||
],
|
||||
"aggregateRating": {
|
||||
"@type": "AggregateRating",
|
||||
"ratingValue": "4.8",
|
||||
"ratingCount": "50"
|
||||
{ "@type": "Offer", "name": "Free", "price": "0", "priceCurrency": "USD", "description": "1 device, 500MB storage", "url": "https://screentinker.com/#pricing" },
|
||||
{ "@type": "Offer", "name": "Starter", "price": "39", "priceCurrency": "USD", "priceValidUntil": "2027-12-31", "description": "5 devices, 5GB storage, remote URL streaming", "url": "https://screentinker.com/#pricing" },
|
||||
{ "@type": "Offer", "name": "Pro", "price": "99", "priceCurrency": "USD", "priceValidUntil": "2027-12-31", "description": "15 devices, 20GB storage, all features", "url": "https://screentinker.com/#pricing" }
|
||||
]
|
||||
},
|
||||
"featureList": [
|
||||
"Multi-zone screen layouts",
|
||||
|
|
@ -504,7 +567,6 @@
|
|||
"Mobile-responsive dashboard",
|
||||
"White-label/reseller support",
|
||||
"Self-hosted option",
|
||||
"9 platform support",
|
||||
"Auto-update OTA"
|
||||
]
|
||||
}
|
||||
|
|
@ -515,52 +577,46 @@
|
|||
"@context": "https://schema.org",
|
||||
"@type": "Organization",
|
||||
"name": "ScreenTinker",
|
||||
"url": "https://screentinker.com",
|
||||
"url": "https://screentinker.com/",
|
||||
"logo": "https://screentinker.com/assets/icon-512.png",
|
||||
"description": "Open-source, self-hostable digital signage CMS. Free plan, self-host or managed cloud. MIT licensed.",
|
||||
"sameAs": [
|
||||
"https://github.com/screentinker/screentinker",
|
||||
"https://discord.gg/utTdsrqq4Z"
|
||||
"https://discord.gg/utTdsrqq4Z",
|
||||
"https://www.youtube.com/@ScreenTinker"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebSite",
|
||||
"name": "ScreenTinker",
|
||||
"url": "https://screentinker.com/",
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "ScreenTinker",
|
||||
"url": "https://screentinker.com/"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What platforms does ScreenTinker support?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "ScreenTinker works on Android TV, Fire TV, Raspberry Pi, Windows, ChromeOS, LG webOS, Samsung Tizen, and any device with a web browser."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Is there a free plan?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes, ScreenTinker offers a free plan with 1 device and 500MB of storage. New accounts also get a 14-day free trial of the Pro plan with 15 devices."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Can I self-host ScreenTinker?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes, ScreenTinker is the only digital signage platform that offers a self-hosted option. Deploy on your own infrastructure and keep all data on your network."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Does ScreenTinker support video walls?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes, you can combine multiple displays into a single video wall with automatic bezel compensation. Configure any grid size (2x2, 3x3, etc.)."
|
||||
}
|
||||
}
|
||||
{ "@type": "Question", "name": "Is there free digital signage software?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. ScreenTinker is free and open source (MIT licensed). The free cloud plan runs 1 display with 500 MB of storage, and if you self-host there's no per-screen fee at all — run as many displays as your own server can handle. New accounts also get a 14-day Pro trial (15 displays) with no credit card required." } },
|
||||
{ "@type": "Question", "name": "Can I run digital signage on a Raspberry Pi?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. A Raspberry Pi 4 or newer makes an excellent low-cost signage player. Our one-line installer sets up kiosk mode, auto-start, and pairing for you." } },
|
||||
{ "@type": "Question", "name": "Does ScreenTinker work on Android TV and Fire TV?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Install the free APK on any Android TV box or Amazon Fire TV Stick to turn it into a managed signage display, complete with kiosk mode and live remote control. ScreenTinker also runs on Windows, ChromeOS, LG webOS, Samsung Tizen, and any web browser." } },
|
||||
{ "@type": "Question", "name": "What's the difference between self-hosted and cloud digital signage?", "acceptedAnswer": { "@type": "Answer", "text": "With cloud, we host everything and you just sign in — the fastest way to start. With self-hosting, you deploy ScreenTinker on your own server or VPS so your content and device data never leave your network, with no recurring SaaS fees. You can switch later." } },
|
||||
{ "@type": "Question", "name": "Is ScreenTinker really open source?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. The full platform is released under the permissive MIT license on GitHub. You can read the code, self-host it, modify it, and even white-label it — no vendor lock-in and no proprietary black box." } },
|
||||
{ "@type": "Question", "name": "What can I put on my screens?", "acceptedAnswer": { "@type": "Answer", "text": "Images, video, playlists, multi-zone layouts, and live widgets — clocks, weather, RSS tickers, countdowns, QR codes, web pages, and scrolling lobby/staff directories. You can schedule different content by day and time, per display or per group." } },
|
||||
{ "@type": "Question", "name": "Do my displays keep playing if the internet goes down?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. ScreenTinker players cache their content locally and keep playing during an internet or server outage, then sync automatically once the connection returns. No blank screens." } },
|
||||
{ "@type": "Question", "name": "Can I control my screens remotely?", "acceptedAnswer": { "@type": "Answer", "text": "Yes, on every plan. See a live view of what's on each screen, push content instantly, and send remote key presses or power commands. Live view and key presses on Android require the on-device accessibility permission." } },
|
||||
{ "@type": "Question", "name": "Is there a limit on how many screens I can manage?", "acceptedAnswer": { "@type": "Answer", "text": "On cloud plans, your display count is set by your tier (1 free, up to 15 on Pro, more on Enterprise). If you self-host, there is no built-in device cap — you're limited only by your own hardware." } },
|
||||
{ "@type": "Question", "name": "How does ScreenTinker compare to Yodeck, ScreenCloud, and OptiSigns?", "acceptedAnswer": { "@type": "Answer", "text": "ScreenTinker is typically a fraction of the price at scale and is the only one of the four you can self-host. Detailed side-by-side breakdowns are available for Yodeck, ScreenCloud, and OptiSigns." } }
|
||||
]
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -2,51 +2,127 @@
|
|||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://screentinker.com/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/compare/yodeck-alternative.html</loc>
|
||||
<lastmod>2026-06-11</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/compare/screencloud-alternative.html</loc>
|
||||
<lastmod>2026-06-11</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/compare/optisigns-alternative.html</loc>
|
||||
<lastmod>2026-06-11</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/guides/open-source-digital-signage.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/guides/what-is-digital-signage.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/compare/xibo-alternative.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/compare/anthias-alternative.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/integrations/</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/integrations/google-slides-digital-signage.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/integrations/canva-digital-signage.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/integrations/power-bi-digital-signage.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/integrations/youtube-digital-signage.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/integrations/rss-digital-signage.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/integrations/weather-digital-signage.html</loc>
|
||||
<lastmod>2026-07-13</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/guides/raspberry-pi-digital-signage.html</loc>
|
||||
<lastmod>2026-05-14</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/guides/digital-signage-android-tv.html</loc>
|
||||
<lastmod>2026-05-14</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/guides/self-hosted-digital-signage.html</loc>
|
||||
<lastmod>2026-05-14</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/legal/terms.html</loc>
|
||||
<lastmod>2026-06-11</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.3</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/legal/privacy.html</loc>
|
||||
<lastmod>2026-06-11</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.3</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://screentinker.com/legal/third-party.html</loc>
|
||||
<lastmod>2026-06-11</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.2</priority>
|
||||
</url>
|
||||
|
|
|
|||
31
scripts/indexnow-submit.sh
Executable file
31
scripts/indexnow-submit.sh
Executable file
|
|
@ -0,0 +1,31 @@
|
|||
#!/bin/bash
|
||||
# Submit the sitemap URLs to IndexNow — instant "this changed, re-crawl it" pings to Bing,
|
||||
# Yandex, Seznam, Naver (and anyone else on the shared IndexNow endpoint). Google doesn't use
|
||||
# IndexNow but honors the same sitemap. Run after a content deploy, or from CI/cron.
|
||||
#
|
||||
# Prereq: the IndexNow key file (frontend/<KEY>.txt) must be DEPLOYED and reachable at
|
||||
# https://<host>/<KEY>.txt — that's how IndexNow verifies ownership.
|
||||
#
|
||||
# scripts/indexnow-submit.sh [host] (default host: screentinker.com)
|
||||
# DRY_RUN=1 scripts/indexnow-submit.sh (print the payload, don't POST)
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
HOST="${1:-screentinker.com}"
|
||||
|
||||
KEY_FILE="$(find frontend -maxdepth 1 -type f -name '*.txt' | grep -E '/[0-9a-f]{16,}\.txt$' | head -1 || true)"
|
||||
[ -n "$KEY_FILE" ] || { echo "ERROR: no IndexNow key file (frontend/<hex>.txt) found." >&2; exit 1; }
|
||||
KEY="$(basename "$KEY_FILE" .txt)"
|
||||
|
||||
mapfile -t URLS < <(grep -oE '<loc>[^<]+</loc>' frontend/sitemap.xml | sed -E 's#</?loc>##g')
|
||||
[ "${#URLS[@]}" -gt 0 ] || { echo "ERROR: no <loc> URLs in frontend/sitemap.xml." >&2; exit 1; }
|
||||
|
||||
PAYLOAD="$(node -e '
|
||||
const [host, key] = [process.argv[1], process.argv[2]];
|
||||
const urlList = process.argv.slice(3);
|
||||
process.stdout.write(JSON.stringify({ host, key, keyLocation: `https://${host}/${key}.txt`, urlList }));
|
||||
' "$HOST" "$KEY" "${URLS[@]}")"
|
||||
|
||||
echo "IndexNow: ${#URLS[@]} URLs, host=$HOST, key=$KEY"
|
||||
if [ "${DRY_RUN:-0}" = "1" ]; then echo "$PAYLOAD"; echo "(DRY_RUN — not submitted)"; exit 0; fi
|
||||
curl -sS -w '\nHTTP %{http_code}\n' -X POST 'https://api.indexnow.org/indexnow' \
|
||||
-H 'Content-Type: application/json; charset=utf-8' --data "$PAYLOAD"
|
||||
Loading…
Reference in a new issue