Guides

Iframe Embed

Embed a live quote slideshow on any website using the Quote Gallery iframe widget.

Quote Gallery provides a hosted embed page you can drop into any website as an <iframe>. It renders a fully animated quote slideshow with no JavaScript required on your end.

Quick start

<iframe
  src="https://quotegallery.nl/embed?embedToken=YOUR_TOKEN"
  width="800"
  height="450"
  frameborder="0"
  allowfullscreen
></iframe>

Replace YOUR_TOKEN with a token generated in your Embed Generator.

Getting an embed token

Embed tokens let you control which quotes appear and restrict which domains can load the embed.

  1. Go to Dashboard → Embed Generator
  2. Select a playlist, configure styling, and set allowed domains
  3. Click Create Token and copy the value
  4. Use it as the embedToken query parameter
The embed token holds your API key server-side. The key is never sent to the browser, so the token approach is safe to ship in public HTML.

URL parameters

You can override any embed setting per-embed by appending query parameters. URL params take precedence over token defaults.

Data source

ParameterTypeDefaultDescription
embedTokenstringSecure token from the Embed Generator. Mutually exclusive with quotesUrl
quotesUrlstringURL of an external JSON API returning an array of quote objects
textFieldstringtextJSON field name for quote text when using quotesUrl
authorFieldstringauthorJSON field name for author when using quotesUrl
quotesUrl does not require an embed token, but your external API must return valid JSON and allow cross-origin requests (CORS).

Appearance

ParameterTypeDefaultDescription
bgTypestringsolidBackground type (solid for a flat color)
bgColorstring#000000Background color as a hex value (include #)
textColorstring#ffffffQuote text color
authorColorstring#999999Author name color
fontstring(system)Font name for both quote and author text
autoSizebooleantrueScale quote text to fit the container
showAuthorbooleantrueShow or hide the author name

Playback

ParameterTypeDefaultDescription
quoteIntervalnumber10Seconds each quote is displayed
transitionstringblur-scaleTransition animation between quotes
showProgressbooleanfalseShow a countdown progress indicator
controlsbooleantrueShow previous, next, and pause controls

Examples

Custom colors, no controls

<iframe
  src="https://quotegallery.nl/embed?embedToken=YOUR_TOKEN&bgColor=%23181818&textColor=%23f5f5f0&authorColor=%23e08c2b&controls=false"
  width="100%"
  height="300"
  frameborder="0"
></iframe>
URL-encode # as %23 when building embed URLs by hand. Most templating engines handle this automatically.

Slow rotation with progress bar

<iframe
  src="https://quotegallery.nl/embed?embedToken=YOUR_TOKEN&quoteInterval=30&showProgress=true"
  width="800"
  height="450"
  frameborder="0"
></iframe>

External quote API (no token)

<iframe
  src="https://quotegallery.nl/embed?quotesUrl=https%3A%2F%2Fapi.example.com%2Fquotes&textField=body&authorField=name"
  width="800"
  height="450"
  frameborder="0"
></iframe>

The external API should return either a plain array [{ body: "...", name: "..." }] or an object with a top-level array key (data, quotes, or results).

Responsive sizing

Use percentage widths and aspect-ratio to make the embed fluid:

<div style="position: relative; width: 100%; aspect-ratio: 16/9; border-radius: 12px; overflow: hidden;">
  <iframe
    src="https://quotegallery.nl/embed?embedToken=YOUR_TOKEN"
    style="position: absolute; inset: 0; width: 100%; height: 100%; border: none;"
    allowfullscreen
  ></iframe>
</div>

Domain restrictions

When creating an embed token you can restrict it to specific domains. Requests from unlisted domains show an error inside the embed instead of loading quotes.

To test locally, add localhost as an allowed domain in the Embed Generator.

Embed Generator

The Embed Generator in your dashboard builds the <iframe> snippet for you with a live preview. Use it to pick a playlist, style colors and fonts, set rotation speed, restrict domains, and copy the final tag ready to paste.

Copyright © 2026