pluralizer
Singularize or pluralize a given word using a pre-defined list of rules
What it is and what it does
Pluralizer is a Python port of the popular JavaScript pluralize library. It applies a pre-defined ordered set of rules to convert English words between singular and plural forms, and can optionally include a count prefix in the output. The package exposes methods to pluralize, singularize, and test whether a word is in plural or singular form.
The library is designed for automation tasks where word forms need to be determined programmatically—such as generating user-facing text, building dynamic queries, or formatting output. It requires Python 3.10 or later and has no external runtime dependencies, making it lightweight to integrate. The author evaluated several alternatives (TextBlob, inflect, NLTK Wordnet) and selected this approach as most accurate for their use case.
Use it for:
- Generate grammatically correct user-facing messages that include dynamic counts ('1 apple' vs '2 apples')
- Build database queries or API calls that need singular or plural form of a resource name
- Format log messages or reports where noun forms must agree with quantities
- Validate or normalize user input by checking whether a word is in expected singular or plural form
- Construct URLs or identifiers that use plural nouns (e.g., '/users' vs '/user')
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts English words between singular and plural forms using a rule-based system, with optional count formatting.
Yes. Pluralizer is a stable, actively maintained library with no dependencies, a permissive license, and no known vulnerabilities. Install it if you need reliable English word pluralization in automation or text generation; skip it if word forms are known at design time or if you need a heavier NLP toolkit.
Install
pluralizer on PyPI
pip
pip install pluralizeruv
uv add pluralizerpoetry
poetry add pluralizerInstalling pluralizer
Before you install
Installs with no runtime dependencies and is actively maintained; last commit was recent.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions.
Quickstart
pip install pluralizer
from pluralizer import Pluralizer
pluralizer = Pluralizer()
print(pluralizer.pluralize('apple', 2, True)) # '2 apples'
print(pluralizer.singular('apples')) # 'apple'
Requires Python 3.10 or later.
Verify before relying
- Accuracy compared to the original JavaScript pluralize library it was ported from
- Coverage of edge cases and irregular plurals beyond common English words
- Performance characteristics for high-volume word conversions
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 429 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 370,661/month — #7,174 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pluralizer-2.0.0-py3-none-any.whl
Keywords: plural, pluralize, singular, singularize
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
inflectGenerates correct English plurals, singulars,…
permissive · top 1,000 on PyPI
inflectionInflection singularizes and pluralizes English…
permissive · top 1,000 on PyPI
jinja2_pluralizeProvides Jinja2 template filters for…
permissive · top 15,000 on PyPI
InflectorConverts English and Spanish nouns between…
permissive · top 15,000 on PyPI
lemminflectLemmatizes and inflects English words using…
permissive · top 15,000 on PyPI
word2numberConverts written-out number words (like "twenty…
permissive · top 5,000 on PyPI
titlecaseConverts text to title case with intelligent…
permissive · top 15,000 on PyPI
python-i18nProvides internationalization (i18n)…
permissive · top 15,000 on PyPI
unicode-rbnfConverts numbers to spelled-out text in…
permissive · top 15,000 on PyPI
pymorphy2Morphological analyzer and inflection engine…
permissive · top 15,000 on PyPI