A Liquid filter to make it easy to form correct plurals.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A Liquid filter to make it easy to form correct plurals.

At some point, every programmer has had to display a count of objects, like “36 pages” or “1 message”. This Liquid filter makes it easier to form these plurals correctly—no more taking the lazy way out and writing {{ number }} message(s)! (Or worse, assuming that the number will be greater than one.)


The easiest way to install this plugin is with RubyGems: gem install liquid_pluralize.

If you’re using Jekyll, see the Jekyll documentation on installing plugins for more-detailed installation instructions.


The sole provided function is pluralize. It can be used in one of two ways:

  • for regular plurals (where the plural is formed by appending an s):

      {{ remaining_time | pluralize: "minute" }}

    will output “0 minutes”, “1 minute”, “17 minutes”, etc.

  • for irregular plurals:

      {{ cul_de_sac_list.length | pluralize: "cul-de-sac", "culs-de-sac" }}

    will output “0 culs-de-sac”, “1 cul-de-sac”, “17 culs-de-sac”, etc.


This script was written by Benjamin Esham.

This project is hosted on GitHub. Please feel free to submit pull requests.

Version history

The version numbers of this project conform to Semantic Versioning 2.0.

  • 1.0.3 (2017-07-19): This Gem works with Liquid 4.x too.
  • 1.0.2 (2015-03-06): This Gem works with Liquid 3.x too and the dependencies should reflect that. Thanks to Aidan Feldman for verifying 3.x support and submitting the pull request.
  • 1.0.1 (2015-03-04): Correctly handle the number 1 when it is given in string form. Don’t refer to Jekyll in the code itself.
  • 1.0.0 (2013-08-20): Initial release.


This project is released into the public domain via the Unlicense, which you can find in the file LICENSE.md.