Normalize author name variants in your Zotero library (diacritics, initials, spelling and ordering) so bibliographies, searches and author counts are consistent and reliable.
Zotero Name Normalizer scans a Zotero library, groups creator name variants into candidate normalization suggestions, and provides an interactive dialog to review, edit, and apply normalizations safely. Intended for researchers, librarians and anyone who maintains large Zotero collections.
Fully functional and tested on Zotero 7/8. Analysis is non-destructive — you must explicitly apply normalizations for changes to be written to your library. Always keep a recent library backup before running bulk operations.
- Fix diacritics vs ASCII mismatches (e.g. "Miłkowski" vs "Milkowski")
- Unify initials, abbreviations and full given names ("J. A. Fodor" → "Jerry A. Fodor")
- Correct misplaced prefixes and compound surnames
- Reduce duplicate author entries and improve citation consistency
- Full-library analysis to detect surname and given-name variants
- Interactive review dialog with item previews and variant frequency info
- Normalization of surnames is sensitive to prefixes and compound surnames (such as "van" or "de la")
- Per-group and bulk apply/decline operations via Zotero API
- Learning engine to remember user choices for future suggestions
- Exportable JSON reports for offline inspection and debugging
Zotero Name Normalizer also supports normalizing publication metadata fields: publishers, publication locations, and journal names. This ensures consistency across your library for fields that often have variant spellings.
Publisher normalization handles:
- Case differences: "Oxford University Press" vs "Oxford university press"
- Suffix variations: "Oxford University Press" vs "Oxford University Press USA"
- Ampersand vs "and": "Taylor & Francis" vs "Taylor and Francis"
- Multi-publisher values: "Oxford University Press; Clarendon Press" is split and processed separately
Location normalization handles:
- Case and punctuation: "Cambridge, MA" vs "Cambridge MA"
- US state abbreviations: "Cambridge, MA" ↔ "Cambridge, Mass." ↔ "Cambridge, Massachusetts"
- Country suffixes: "New York, NY" vs "New York, NY, USA"
- Ampersand vs "and": "London & New York" vs "London and New York"
Does NOT group different cities together (e.g., "New York" stays separate from "Oxford, New York" or "London, New York").
Journal normalization uses strict matching to avoid grouping different journals:
- Case differences: "Journal of Neuroscience" vs "journal of neuroscience"
- "The" prefix: "The Journal of Philosophy" ↔ "Journal of Philosophy"
- Ampersand vs "and": "Journal of Science & Technology" ↔ "Journal of Science and Technology"
Does NOT group different journals together (e.g., "Journal of Neuroscience" stays separate from "Journal of Cognitive Neuroscience").
- Open the Name Normalizer menu and select "Normalize Publishers", "Normalize Locations", or "Normalize Journals"
- Review the suggested groups - each shows variants and item counts
- Edit the normalized value if needed, or apply the suggested normalization
- Confirm to apply changes to your library
- Open Zotero and install the extension (development mode or packaged XPI)
- Select the library or collection you want to analyze in Zotero's library tree:
- Click on "My Library" to analyze your personal library
- Click on a group library to analyze that shared library
- Click on a specific collection to analyze only items in that collection
- Run a full-library analysis from the Name Normalizer menu
- Review suggested variant groups in the dialog and apply per-group or bulk normalizations
- Optionally export analysis results as JSON for offline review
The Name Normalizer automatically operates on the currently selected library or collection in Zotero's UI, following the same pattern as other Zotero plugins like zotero-search-replace:
- Collection selected: Normalizes only items within that collection
- Library selected (My Library or a group library): Normalizes all items in that library
- Items selected: Normalizes items from the library containing the selected items
- Nothing selected: Defaults to your personal library (My Library)
This means you can:
- Normalize author names in your personal library
- Normalize author names in any group library you're a member of
- Normalize author names in a specific collection without affecting other collections
Zotero Name Normalizer also supports normalizing publication metadata fields: publishers, publication locations, and journal names. This ensures consistency across your library for fields that often have variant spellings.
Publisher normalization handles:
- Case differences: "Oxford University Press" vs "Oxford university press"
- Suffix variations: "Oxford University Press" vs "Oxford University Press USA"
- Ampersand vs "and": "Taylor & Francis" vs "Taylor and Francis"
- Multi-publisher values: "Oxford University Press; Clarendon Press" is split and processed separately
Location normalization handles:
- Case and punctuation: "Cambridge, MA" vs "Cambridge MA"
- US state abbreviations: "Cambridge, MA" ↔ "Cambridge, Mass." ↔ "Cambridge, Massachusetts"
- Country suffixes: "New York, NY" vs "New York, NY, USA"
- Ampersand vs "and": "London & New York" vs "London and New York"
Does NOT group different cities together (e.g., "New York" stays separate from "Oxford, New York" or "London, New York").
Journal normalization uses strict matching to avoid grouping different journals:
- Case differences: "Journal of Neuroscience" vs "journal of neuroscience"
- "The" prefix: "The Journal of Philosophy" ↔ "Journal of Philosophy"
- Ampersand vs "and": "Journal of Science & Technology" ↔ "Journal of Science and Technology"
Does NOT group different journals together (e.g., "Journal of Neuroscience" stays separate from "Journal of Cognitive Neuroscience").
- Open the Name Normalizer menu and select "Normalize Publishers", "Normalize Locations", or "Normalize Journals"
- Review the suggested groups - each shows variants and item counts
- Edit the normalized value if needed, or apply the suggested normalization
- Confirm to apply changes to your library
- Analysis is non-destructive. Normalizations are applied only when you explicitly confirm them in the dialog.
- On modern Zotero builds the extension writes exported JSON to the Zotero data directory by default (no filepicker). Check the Error Console (Tools → Developer → Error Console) for details when exporting.
- If you encounter errors, include console logs and a short description of your Zotero version and the action you performed when reporting an issue.
Contributions welcome. See docs/DEVELOPMENT.md for developer setup and architecture notes. Please open issues for bugs and feature requests; pull requests should include tests when applicable.
GPL-3.0 © 2026 Marcin Miłkowski
