/flipbook

Flipbook is a superset of QR codes that allows for infinitely sized payloads. Download apps, rich-text, and more without the need for an internet connection.

Primary LanguageTypeScriptMIT LicenseMIT

Flipbook

Flipbook

Status License  |  Writer: Writer Version  install size  |  Reader: Reader Version  install size

Getting Started

Flipbook is a series of libraries that you can use in any web, mobile, or desktop application that enable the writing and reading of QR codes that contain larger payloads than traditional QR codes. This is done by creating a series of QR codes that are stitched together into an animated GIF, called a "Flipbook". This Flipbook can then be scanned by the reader library and subsequently reassembled into the original payload.

View a CodeSandbox example

Flipbook Example

Download Reader

Why?

Youtube Video

The ubiquity of QR codes in daily life has made them a popular tool for sharing information. But the medium is inherently limited to payloads of small sizes. While larger payloads can be supported (to a point), the resulting QR code becomes too difficult to scan reliably.

Are there any size limitations?

In theory, no. It would simply be a matter of how long it takes for the writer to encode the payload into a Flipbook, and how long it takes for the reader to decode the Flipbook back into the original payload.

What can a Flipbook contain?

Anything! Books... movies... music... software... anything that can be represented as a series of bytes can be encoded into a Flipbook.

Libraries

Want to write a Flipbook binding?

If you want to write a Flipbook binding for a language that isn't listed here, feel free to open an issue or a pull request. We'd love to see Flipbook supported in as many languages as possible!

Contributing

If you'd like to contribute to Flipbook, please read our contributing guide to learn how to get started.

Releasing

To release a new version of Flipbook, do the following:

  1. Do your work on your own branch, and open a pull request to main when you're ready.
    1. On this PR, make sure you have run pnpm changeset to generate a new changeset.
  2. Once the PR is merged, it will create a new PR to version all changes and all changesets. The owner(s) can review this PR and merge it.
  3. Once the second PR is merged, owner(s) can run (locally, from the main branch):
    1. pnpm release
    2. git push --follow-tags
  4. On Github, owner(s) can create a release for each package using the pushed tags

License

Flipbook is licensed under the MIT License. Go nuts!