Help:Cite errors/Cite error references duplicate key
![]() | This help page is a how-to guide. It explains concepts or processes used by the Wikipedia community. It is not one of Wikipedia's policies or guidelines, and may reflect varying levels of consensus. |
This page will help you to fix the cite error message:
The named reference "$1" was defined multiple times with different content (see the help page).
- If you have read this help page and find something missing or confusing, please discuss it at the main talk page.
- Please reference this page and the page where you have the problem so we can understand your issues.
- For basic information on the footnotes system, see Referencing for beginners; for advanced help, see Footnotes.
Overview
A footnote used multiple times may be defined with a name:
<ref name="foo">content</ref>
To invoke a named footnote:
<ref name="foo" />
The content of the ref name "foo" is only defined once.
Issues and resolution
The error happens when a named reference is defined multiple times with different content. For example, first <ref name="foo">content1</ref>
and later <ref name="foo">content2</ref>
, where "foo"
is repeated but content1 and content2 are different. The purpose of named references is to be able to invoke them elsewhere with <ref name="foo" />
, but there must be a unique definition of the ref name "foo".
If the references with content1 and content2 are meant to be different then change one of the ref names, for example name="bar"
instead of name="foo"
. If the reference is not meant to be invoked elsewhere then it can also be made unnamed by removing name="foo"
, but this is not necessary.
If the references are meant to be the same then replace one of the definitions by <ref name="foo" />
to invoke the other definition. It may technically work to make two identical definitions but this should not be done. It causes confusion and will recreate the error if somebody later changes one of the definitions without making the same change to the other.
The error can also happen with empty ref names like <ref name="">content</ref>
or <ref name>content</ref>
. Ref names should not be empty. Either add a name or remove name=""
.
Ref names may be generated by a template and produce names not in the wikitext. For example, {{sfn|Stokes|1979|p=2}}
and {{sfn|Stokes|1979|pp=2}}
may both produce references of form <ref name="FOOTNOTEStokes19792">...</ref>
, causing the error message to use the ref name "FOOTNOTEStokes19792". p=
is intended for a single page and pp=
for a range. ps=
must have the same value in each use of {{sfn}}
where the other parameters are identical. An assigned value in ps=
cannot be combined with an omitted ps=
elsewhere on the page. If there is a blank ps=
then remove it.
See also Technical Templates below.
Whole references may be transcluded from other pages. When the "Edit" or "Edit source" tab at top of a page is clicked, the bottom of the window will say "Pages transcluded onto the current version of this page". Click the text if no list is shown. Articles are more likely than other pages to contain named references.
The ref name in the error message may have replaced spaces by underscores and converted some special characters.
Names
Names for footnotes and groups must follow these rules:
- Names are case-sensitive. Please do not use raNdOM capitalization.
- Names must not be purely numeric; the software will accept something like
":31337"
(which is punctuation plus a number), but it will ignore"31337"
(purely numeric). - Names should have semantic value, so that they can be more easily distinguished from each other by human editors who are looking at the wikitext. This means that ref names like
"Nguyen 2010"
are preferred to names like":31337"
. - Names must be unique. You may not use the same name to define different groups or footnotes. Try to avoid picking a name that someone else is likely to choose for a new citation, such as
":0"
or"NYT"
. - Please consider keeping reference names short, simple, and restricted to the standard English alphabet and numerals. If spaces are used, the following technical restrictions become relevant:
- Quotation marks are preferred but optional if the only characters used are letters
A–Z
,a–z
, digits0–9
, and the symbols!$%&()*,-.:;<@[]^_`{|}~
. That is, all printable ASCII characters except#"'/=>?\
and space. - Inclusion of any other characters, including spaces, requires that the reference name be enclosed in quotes; for example,
name="John Smith"
. But quote-enclosed reference names may not include a less-than sign (<
) or a double straight quote symbol ("
), which may, however, be included by escaping as<
and"
respectively. - The quote marks must be the standard, straight, double quotation marks (
"
); curly or other quotes will be parsed as part of the reference name.
- Quotation marks are preferred but optional if the only characters used are letters
- You may optionally provide reference names even when the reference name is not required. This makes later re-use of the sourced reference easier.
Sfn
If two or more calls to {{sfn}} use the same citation parameters, that is, if the author(s), year, and page number(s) are all identical, but there is some other difference, such as a use of pp= vs p=, or a use of ps= in one but not the other, this issue will arise.
The solution is to make the calls identical. If the ps= parameter was being used to include a quote or other extended content, use {{harvnb}} inside a <ref>...</ref>
construct with the quote after the template but inside the ref tag structure.
Nested footnotes
If there are nested footnotes, i.e. a reference within another reference, then the error can occur even if two definitions have identical text. Example where {{sfn}} will create a ref name with another reference inside it:
<ref name="Buna">Advance to Buna</ref> {{sfn|Blakeley|1956|ps=. Cited in Advance to Buna.<ref name=Buna />}} {{sfn|Blakeley|1956|ps=. Cited in Advance to Buna.<ref name=Buna />}}
Removing the inner reference will fix the error.
Technical
Pages with this error message are placed into Pages with duplicate reference names. The system message page is at Cite error references duplicate key.
Templates
In order to include variable data within a reference tag such as <ref ref_content name=ref_name>
, the #tag
parser function must be used. Currently #tag
only supports balanced tags, not a singular tag, thus <tag_type element />
cannot normally be used in a template unless the element is hard coded.
However, Cite has been modified since 2008[1] to treat <ref name="ref-foo"></ref>
identically to <ref name="ref-foo" />
. Note that there cannot be even a space between the <ref . . .>
and the </ref>
, otherwise this will result in definition of the reference named "ref-foo" to be " ", which if meant to be second reference by name to an existing reference will cause a duplicate definition error. Correct code to produce a singular tag will look like {{#tag:ref ||name={{{parameter}}}}}
, that is, no space between the two "|"s.