Open Source • Free • No Server Upload

Academic Reference
Checker — Documentation

A comprehensive, browser-based tool that cross-checks every in-text citation against your reference list. Catch missing references, year mismatches, and spelling typos in seconds.

▶ Open the Tool 📖 Read the Guide
4
Match Types
3+
Citation Styles
100%
Client-Side
0
Data Sent
Creator
Developer Profile
Built by a researcher who understands the pain of manually verifying hundreds of citations before submission.
SJ

Dr. Susovon Jana

Researcher & Tool Developer

Dr. Susovon Jana is an academic researcher with a focus on building practical, open-source tools that solve real problems in scholarly writing. Frustrated by the tedious process of manually cross-checking every citation in research papers, theses, and dissertations, he developed this tool to automate the most error-prone step of academic publishing — ensuring every in-text citation has a matching, correctly dated entry in the reference list.

The tool reflects a deep understanding of the diverse citation conventions used across disciplines, from APA and Harvard to UIMS and beyond. It is designed to work with real-world academic documents, handling edge cases like multi-word surnames, accented characters, et al. citations, and multiple citation formats within a single paper.

💻 JavaScript (Vanilla) 📄 HTML5 / CSS3 📚 mammoth.js 🌐 Crossref API 🔒 Zero Server Dependency
Capabilities
Feature Overview
Everything you need to verify citation consistency in academic documents, from extraction to reporting.
🔍

Citation Extraction

Automatically detects and extracts in-text citations in multiple formats: single author Smith (2020), two-author Smith and Jones (2020), et al. Smith et al. (2020), and parenthetical (Smith, 2020). Also handles multi-author citations inside parentheses separated by semicolons, colons, or commas.

📚

Multi-Format Reference Parsing

Supports APA, Harvard, UIMS, and similar author-date reference styles. Automatically detects the format used in your reference list, whether it uses comma-separated initials Surname, A. B. or no-comma initials Surname AB, and extracts all author surnames and publication years.

✅

4-Level Matching Engine

Each citation is checked against every reference using a cascading match strategy: (1) Exact surname + year match, (2) Surname match with year mismatch detection, (3) Prefix matching for multi-word surnames, and (4) Fuzzy Levenshtein matching for spelling typos with year proximity validation. Grouped citations like Suleman et al. (2021, 2025) count every year in the group as cited, so neither reference is ever wrongly listed as uncited.

⚠️

Year Mismatch Detection

When a cited author exists in the reference list but with a different publication year, the tool flags it as a year mismatch and shows the actual year(s) available in the reference list. This catches one of the most common citation errors in academic writing.

🟣

Year-Suffix (a/b/c) Typo Detection

When two works share the same author and year, APA style requires letters after the year. If your list only shows 2026a and 2026b but the body text cites Jana et al., 2026 without a letter (or cites 2026c, which does not exist), the tool flags it as a suffix typo instead of silently counting it as a match.

🚨

Missing Reference Detection

Identifies citations in the body text that have no matching entry whatsoever in the reference list. These are critical errors that can delay publication or peer review. The tool highlights each missing citation with its context for easy correction.

📊

Uncited Reference Finder

Finds references in your bibliography that are never cited in the body text. These entries inflate your reference list and may be flagged by journal reviewers. The tool lists every uncited reference so you can either add a citation or remove the entry.

🧹

Retracted Article Checker

One-click check of your reference list against the Crossref database for retraction notices. If any of your cited papers have been retracted, corrected, or had expressions of concern issued, the tool alerts you immediately. Requires internet connection for the API call.

📄

Smart Document Split (Auto-Split)

Upload a full .docx document and the tool automatically detects sections: title, abstract, keywords, body headings (Introduction, Literature Review, Methods, etc.), and References. A customizable popup lets you review and adjust which sections go into the body text vs. are excluded before analysis.

🎯

Fuzzy Spelling Matching

Catches author name typos using Levenshtein distance algorithms. If you wrote Gower (1971) but the reference list has Gowar (1971), the tool flags it as a likely spelling mismatch. Year proximity validation prevents false positives across decades.

📥

Flexible Input Methods

Enter data three ways: paste text directly into the body text and reference list boxes, upload individual .txt or .docx files for each box, or upload a complete .docx document with auto-split. Word count and reference count update live as you type.

📋

Filter & Sort Results

After running a check, results are sorted by severity (missing first, then year mismatches, spelling issues, and matched). Filter checkboxes let you show or hide each status type to focus on specific issues.

💾

Downloadable HTML Report

Export results as a professional, self-contained HTML report with custom filename. The report includes summary statistics, color-coded citation analysis tables, uncited references, and a disclaimer. Perfect for thesis review records or journal submission preparation.

Usage Guide
How to Use the Tool
Follow these steps to check your academic document for citation-reference consistency. The process takes less than a minute for a typical paper.
1

Open the Tool Required

Open index.html in any modern browser (Chrome, Firefox, Edge, Safari). No installation, plugins, or internet connection required for the core functionality. The entire tool runs client-side.

2

Input Your Data Two Options

You have two ways to provide your document content. Choose the one that suits you best:

  • Option A — Manual Paste (Recommended for accuracy): Copy the body text of your paper (everything except the reference list) and paste it into the "Body Text" box. Then copy your reference list and paste it into the "Reference List" box. This method gives the most accurate results because you control exactly what goes into each box.
  • Option B — Auto-Split Upload: Click "Upload Full Document" and select your .docx file. The tool will detect sections (Introduction, Methods, References, etc.) and show a popup where you can customize which sections go into the body text. Confirm your selection to populate both boxes automatically.
  • Option C — Individual File Upload: Use the small file upload buttons below each text box to load .txt or .docx files separately for body text and reference list.
💡 Pro Tip: For the most accurate results, paste body text and references separately into each box. The auto-split option uses algorithmic detection which may include/exclude sections differently than your intended selection, leading to slightly different results.
3

Run the Check One Click

Click the "▶ Run Check" button. The tool will immediately process your input and display results below. The analysis typically completes in under a second for most documents.

// What happens when you click Run Check:
1. Citations are extracted from the body text using pattern matching
2. References are parsed from the reference list
3. Each citation is matched against references using a 4-level cascading strategy
4. Uncited references are identified
5. Results are displayed with color-coded status badges
4

Review Results Understand the Output

The results are organized into three sections:

  • Summary Dashboard: Nine stat cards showing Matched count, Year Mismatches, Spelling issues, Suffix a/b/c issues, Missing references, Uncited references, Unique Citations, Total References, and an overall Compliance percentage.
  • Citation Analysis Table: Every unique citation from your body text is listed with its status badge (green/amber/orange/red/purple), the original citation text, number of times it appears, and detailed notes. Use filter checkboxes to show or hide specific status types.
  • Uncited References Table: All references in your list that are not cited in the body text. These may need to be cited or removed before submission.
5

Check for Retractions Optional

Click the "⚠️ Check for Retracted Articles" button in the Uncited References section. The tool will extract DOIs from your reference list and check each one against the Crossref database. A popup will display the status of each reference: Safe, Retracted, or Unknown (no DOI found). You can then download a separate retraction report.

💡 Note: The retraction check requires an internet connection because it queries the Crossref API. Only references with DOIs can be checked. References without DOIs will be marked as "Unknown."
6

Download Reports Export

You can download two types of reports:

  • HTML Report: Click "💾 Download HTML Report" to save a professionally formatted, self-contained HTML file. You'll be prompted to enter a custom filename. The report includes all summary statistics, the full citation analysis table, uncited references, and a disclaimer. It uses a clean, print-friendly layout.
  • Retraction Report: After running the retraction check, a separate "Download Retraction Report" button appears. This downloads a focused report on the retraction status of your references.
Analysis
Citation Status Guide
Understand what each match status means and how to interpret the results for your document.
Status Meaning Action Required
Matched The author surname and publication year in the citation exactly match an entry in the reference list. For two-author citations, the second author is also verified. None — This citation is correct.
Year Mismatch The author surname was found in the reference list, but the year cited in the body text does not match the year(s) in the reference list. The tool shows the available year(s) for comparison. Review — Verify the correct year and update either the citation or the reference.
Spelling Mismatch A reference author surname that is very similar (Levenshtein distance ≤ 2, within 2 years) was found. This likely indicates a typo in either the citation or the reference list. Review — Check spelling and correct the typo in the citation or reference.
Suffix Missing / Suffix Typo The citation's year letter (a, b, c…) is missing or wrong. Suffix Missing: the body text cites a bare year (e.g. Jana et al., 2026) while the reference list only contains lettered years (2026a, 2026b). Suffix Typo: the cited letter does not exist in the list (e.g. 2026c), or a letter is cited although the list shows a plain year. Review — Add or correct the letter in the in-text citation so it matches the reference list.
Missing No matching reference was found for this citation. The author surname does not appear in the reference list at all (no exact, prefix, or fuzzy match). Fix — Add the reference to the list or remove/fix the citation.
Uncited A reference exists in the reference list but is not cited anywhere in the body text. It may be an orphaned entry or a reference you forgot to cite. Review — Add an in-text citation or remove the reference entry.
Compatibility
Supported Citation & Reference Formats
The tool is designed to handle the most common author-date citation styles used in academic publishing.
Format Citation Example Reference Example Status
APA 7th Smith (2020), (Smith & Jones, 2021) Surname, A. B., & Surname, C. D. (YEAR). Title. Fully Supported
Harvard Smith (2020), (Smith and Jones, 2021) Surname, A. B. and Surname, C. D. (YEAR) Title. Fully Supported
UIMS Smith (2020), (Smith et al., 2021) Surname, A.B. and Surname, C.D. YEAR. Title. Fully Supported
No-Comma Smith (2020) Gower JC (1971) Title. Journal vol:pages. Fully Supported
IEEE / AMA [1], [2, 3] Numbered list Not Supported
Vancouver [1], [1-3] Numbered list Not Supported
💡 Special Handling: The tool handles complex author names including multi-word surnames with particles (De Vane, Da Silva, Van Der Berg), hyphenated surnames (Flores-Chacón, Baderinwa-Adejumo), accented characters (Á, Ö, Ñ), and corporate authors (R Core Team, WHO). Year suffixes like 2022a, 2022b are also supported.
Help
Frequently Asked Questions
Answers to common questions about the tool's functionality, limitations, and best practices.

Is my data safe? Does the tool send my document to any server?

▼
Yes, your data is completely safe. The tool runs 100% in your browser using client-side JavaScript. Nothing is uploaded to any server, nothing is stored anywhere, and no data leaves your device. The only exception is the optional retraction check, which sends DOIs (not your full text) to the public Crossref API to check for retraction notices. You can verify this by disconnecting from the internet — all core features (citation extraction, reference parsing, matching, reporting) will continue to work perfectly.

Why do I get different results when using auto-split vs. manual paste?

▼
The auto-split feature uses the mammoth.js library to extract raw text from .docx files. This extraction process normalizes whitespace, merges paragraphs, and may produce slightly different line breaks compared to copying text directly from Word. Since the citation matching engine relies on precise text patterns (e.g., detecting where parentheses open and close), even small formatting differences can occasionally affect which citations are detected. For the most accurate and consistent results, we recommend pasting body text and references separately into the two boxes. Use the auto-split as a quick first pass, then verify with manual paste if you need maximum precision.

What citation styles are supported?

▼
The tool supports author-date citation styles including APA (7th edition), Harvard, UIMS, and similar formats. It handles narrative citations (Smith (2020)), parenthetical citations ((Smith, 2020)), et al. citations (Smith et al., 2020), two-author citations (Smith and Jones, 2020), and multi-citation parentheses ((Smith, 2020; Jones, 2021)). Numeric citation styles like IEEE [1], AMA, and Vancouver are not supported. The tool also supports year suffixes (2022a, 2022b) for distinguishing multiple works by the same author in the same year.

How does the fuzzy matching for spelling typos work?

▼
The tool uses the Levenshtein distance algorithm to measure how different two author surnames are. If the distance is 2 or less (meaning 0, 1, or 2 character changes needed to transform one name into the other), AND the publication years are within 2 years of each other, the citation is flagged as a possible spelling mismatch. This prevents false positives where unrelated authors with similar names across different decades would be incorrectly linked. Accent differences (á vs. a, ö vs. o) are also normalized before comparison.

Can I use this tool for my thesis or dissertation?

▼
Absolutely. The tool is specifically designed for long academic documents like theses and dissertations. It handles large reference lists efficiently, provides a compliance percentage, and generates a downloadable HTML report that you can save as part of your review records. The disclaimer in the report notes that the tool is a preliminary screening aid, so always verify flagged items manually before final submission.

What file formats can I upload?

▼
The tool accepts .docx and .txt files. The old .doc format (pre-2007 Word) is not supported. For .docx files, the tool uses mammoth.js to extract raw text. You can also simply copy and paste text from any source (PDF viewers, Google Docs, LaTeX output, etc.) into the text boxes, which often gives the best results since you can control exactly what content goes into each box.

What does the Compliance percentage mean?

▼
The Compliance percentage is calculated as: (Matched Citations / Total Unique Citations) × 100. It represents the proportion of your in-text citations that have a verified matching entry in the reference list with the correct author and year. A 100% compliance means every citation matches. Note that this only measures citation-to-reference matching, not the completeness of the reference list (uncited references are tracked separately).

How does the section detection popup work in auto-split?

▼
When you upload a full .docx document, the tool scans the text for section headings like "Introduction", "Literature Review", "Methods", "References", and so on. It also detects metadata sections like "Abstract", "Keywords", and "JEL Codes". A popup then shows every detected section with checkboxes: sections marked "Body" (blue) will be included in the body text analysis, and sections marked "Excluded" (gray) will be left out. You can toggle any section's checkbox to include or exclude it before confirming. The References section is detected automatically and placed in the Reference List box.