// Head-to-head · 2-way comparison

Turn.js vs StPageFlip: which page-flip library should you use in 2026?

TL;DR verdict

If you want the short answer: for a brand-new build in 2026, Turn.js is the safest default of the libraries on this page. It has modern dependencies, evergreen-browser support, an actively maintained codebase, and a permissive license. The other libraries on this page win in specific scenarios (legacy browser support, jQuery-only stacks, or particular framework wrappers), but if your project does not have one of those constraints, start with Turn.js and only switch if you hit a hard limit.

Feature matrix

Feature Turn.jsStPageFlip
GitHub stars ★ 7,475★ 807
License NOASSERTIONMIT
Language JavaScriptTypeScript
Since 20122020
Responsive sizing Yes Yes
Touch / swipe Yes Yes
Page-turn sound No No
Page zoom Yes No
Thumbnail nav No No
GPU-accelerated Yes Yes
Pinch-zoom No No
RTL pages Yes Yes

Library-by-library breakdown

Turn.js

The classic jQuery page-flip plugin that defined the look-and-feel of HTML5 flipbooks.

Browser support. Chrome 16+, Firefox 10+, Safari 5+, Edge, IE10+ (with shims). Mobile Safari/Android Chrome supported via touch shim.

Install:

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="turn.min.js"></script>

Hello-world:

<div id="magazine">
  <div class="page"><img src="page-1.jpg"></div>
  <div class="page"><img src="page-2.jpg"></div>
  <div class="page"><img src="page-3.jpg"></div>
  <div class="page"><img src="page-4.jpg"></div>
</div>

<script>
$('#magazine').turn({
  width: 800,
  height: 600,
  autoCenter: true,
  display: 'double',
  acceleration: true,
  gradients: true,
  elevation: 50,
  when: {
    turning: function(e, page) {
      console.log('Turning to page', page);
    }
  }
});
</script>

StPageFlip

Modern, dependency-free TypeScript page-flip library with realistic shadows and gradients.

Browser support. Modern evergreen browsers (Chrome 80+, Firefox 75+, Safari 13+, Edge 80+). No IE support. Mobile-first with hardware-accelerated transforms.

Install:

npm install page-flip
# or via CDN:
<script src="https://unpkg.com/page-flip/dist/js/page-flip.browser.js"></script>

Hello-world:

import { PageFlip } from 'page-flip';

const pageFlip = new PageFlip(
  document.getElementById('book'),
  {
    width: 550,
    height: 733,
    size: 'stretch',
    minWidth: 315,
    maxWidth: 1000,
    minHeight: 420,
    maxHeight: 1350,
    drawShadow: true,
    flippingTime: 1000,
    usePortrait: true,
    showCover: true,
    mobileScrollSupport: true,
  }
);

pageFlip.loadFromHTML(document.querySelectorAll('.page'));
pageFlip.on('flip', e => console.log('Page', e.data));

Verdict by use-case

  • Magazine or editorial publication. Turn.js wins on smoothness and modern-browser fidelity. full editorial workflow guidance covers the full pipeline from InDesign to live page.
  • Product catalog or commerce. lean toward libraries with built-in zoom and thumbnail navigation; check the business catalog buyer guide for the full picks.
  • E-learning. React or Vue wrappers are usually the right call so the flipbook fits inside your LMS frontend; see the e-learning buyer guide.
  • Annual report or PDF-first. libraries with PDF.js integration save days of work. Read our DearFlip deep-dive for the canonical PDF-first option.
  • Native mobile. web libraries are the wrong tool. Look at the platform-native picks (android-PageFlip on Android, JYPaging on iOS, or react-native-page-flipper for cross-platform).

How we chose the winner

The verdict above weights five factors: modern-browser fidelity, dependency footprint, license permissiveness, active maintenance (commits in the last 12 months), and the size and quality of the community around the library. We deliberately do not give equal weight to GitHub stars, because star counts trail real-world adoption by years and reward longevity over current quality. A 700-star library that ships a release every quarter is usually a better bet than a 7,000-star library whose last meaningful commit was in 2018.

Your weights may differ. If you are working in a strictly jQuery-only environment, every TypeScript library on this page is disqualified. If you must support IE11, the modern picks fall out and the older ones become the only option. The matrix above gives you the data; the verdict is our opinion. our review methodology is documented separately for transparency.