

Front-end viewer with the compact toolbar (page, zoom, find, theme, share, fullscreen).
Flipset embeds PDF documents in posts, pages and widgets with a PDF.js build that ships inside the plugin. Use a shortcode, a Gutenberg block, a page-builder widget, or paste a PDF link on its own line. There is no CDN, no external service and no API key: rendering happens in the visitor’s browser, from files on your own site.
👉 Live demo · Documentation · Quick start · Shortcodes · Developer hooks · Support · GitHub
At a glance
[flipset file="https://example.com/document.pdf"], the “Flipset Viewer” block, a page-builder widget, or a PDF link pasted on its own line.view="page|scroll|spread|flip").[flipset_library] – a grid or list of your Media Library PDFs with search, sort and pagination.DigitalDocument; plain PDF link when JavaScript is off.Quick start
[flipset file="https://example.com/document.pdf"][flipset file="https://example.com/document.pdf" view="flip"][flipset_library]Common use cases
Why Flipset?
Viewer
[flipset file="https://example.com/document.pdf"] and a “Flipset Viewer” Gutenberg block with a Media Library picker and first-page preview..pdf link on its own line to embed it. PDF attachment pages can show the viewer too (a setting).#page=4 deep links and last-page resume on the visitor’s device.Flipbook and view modes
view="flip").Document library
[flipset_library] shortcode and “Flipset Library” block: a grid or list of your Media Library PDFs with first-page thumbnails, search, an optional sort menu and pagination; a document opens in place.[flipset id="1"] or with the block.SEO and search
Accessibility
Builders and integrations
Developer friendly
flipset:ready and flipset:pagechange, documented in docs/HOOKS.md.wp flipset status, wp flipset reindex, wp flipset clear_cache.[flipset] – PDF viewer. Only file (or id) is required.
file – URL of the PDF. id – ID of an embed saved in Flipset Shortcode Builder.view – page (default), scroll, spread or flip (3D flipbook).page – start page (default 1). title – caption for the viewer, also used as its accessible name.width, height – a number with a CSS unit, for example 100% or 700px (defaults come from Flipset Settings).theme – light, dark or sepia.download, print, search, share, fullscreen, presentation, shortcuts, theme_btn – true or false; leave out to use the site setting.hide – comma-separated controls to hide, for example hide="share,fullscreen".loading – lazy or eager. hash – true or false for #page= deep links. resume – true or false to remember the last page read.Example: [flipset file="https://example.com/catalogue.pdf" view="flip" theme="dark" height="700px" download="false"]
[flipset_library] – PDF document library. No attributes are required.
columns – number of grid columns (default 3). per_page – documents per page (default 12).orderby – date (default), title or modified. order – DESC (default) or ASC.search – true (default) or false for the search field.sort_control – true shows a Newest / Oldest / Title A–Z / Title Z–A menu (default false).layout – grid (default) or list. layout_toggle – true shows a grid / list switch (default false).Example: [flipset_library columns="4" per_page="8" sort_control="true" layout_toggle="true"]
Full reference with every value: https://flipset.thereadscope.com/flipset-docs/shortcode/
Flipset exposes public WordPress filters and actions (see Developer Hooks below) so add-ons and themes can extend the viewer without modifying core code. No paid features are sold or locked in this plugin.
Flipset does not contact any server on its own. It has no analytics, no licence check, no update ping and no remote scripts, fonts or images. The visitor’s browser opens an outside address only when the visitor clicks one of these links:
mailto: link and opens the visitor’s own email program; no server is involved.assets/vendor/pdfjs/ as pdf.min.js and pdf.worker.min.js, the official minified build from the pdfjs-dist 3.11.174 release. Upstream project: https://github.com/mozilla/pdf.js – the human-readable source for this version is at https://github.com/mozilla/pdf.js/tree/v3.11.174. Licence text: https://www.apache.org/licenses/LICENSE-2.0assets/fonts/inter/ (a Latin-subset, weight-axis-only variable woff2 made from the official font with subset-font, plus OFL.txt) and used only on the Flipset screens in wp-admin. Upstream project: https://github.com/rsms/inter – licence text: https://openfontlicense.orgAdd-ons can extend the viewer through public WordPress filters and actions. The full list, parameters and copy-paste examples are in docs/HOOKS.md in the GitHub repository: https://github.com/itsmanzur/flipset/blob/main/docs/HOOKS.md – also online at https://flipset.thereadscope.com/flipset-docs/hooks/ (DOM events: https://flipset.thereadscope.com/flipset-docs/dom-events-js/).
Flipset does not collect any visitor data, sets no cookies, and has no analytics or tracking. The plugin has no remote requests of its own (see “External services”).
What the plugin stores on your site:
flipset_settings.flipset_embed, with the embed’s configuration in post meta.In the visitor’s own browser, Flipset uses localStorage (not cookies) to remember the last page read (flipset:page:<file URL>), the chosen reading theme (flipset_theme) and the chosen library layout, grid or list (flipset-library-layout). These values never leave the browser, and the visitor can clear them at any time.
The share feature only builds links; it contacts no one until the visitor clicks a link.
Deleting the plugin from the Plugins screen removes the settings, saved embeds, Flipset post and user meta, the transient and the thumbnails it generated. Your uploaded PDFs and other media are kept.
Flipset is developed and maintained by itsmanzur.