Source / pinned edition
Structure of the ORCID Identifier
Source of package iso.check_characters
- work
- urn:iso:clir:check-characters#ORCID_STRUCTURE_ARTICLE
- kind
- urn:iso:clir:check-characters#guidance
Structure of the ORCID Identifier (ORCID Support)
- edition
- urn:iso:clir:check-characters#ORCID_STRUCTURE_ARTICLE_V1
- language
- en
- officiality
- official
- materialisation
- PINNED_OFFICIAL_BYTES
- life cycle
- —
Publications
| URI | Type | documentHash | Retrieved |
|---|---|---|---|
| https://support.orcid.org/hc/en-us/articles/360006897674-Structure-of-the-ORCID-Identifier | text/plain; charset=utf-8 | sha256:a41936f8cd11b879eaa383dc661dbfa6a381a7fd68a323070029f2aa4105460b | 2026-08-31T02:30:00Z |
Fragments — 2
article/checksum · provision · referenced by: 8
en · official · sha256:e8261c74752735fbcc8da22d8c875369b62e52602d6692d689b02a4f8b2c0d4c
Checksum
The last character in the ORCID iD is a checksum. In accordance with ISO/IEC 7064:2003, MOD 11-2, this checksum must be "0" - "9" or "X", a capital letter X which represents the value 10. View the algorithm used below to determine the checksum of an ORCID iD, or see it in action using the ORCID Checksum Digit tool.
/**
* Generates check digit as per ISO 7064 11,2.
*
*/
public static String generateCheckDigit(String baseDigits) {
int total = 0;
for (int i = 0; i < baseDigits.length(); i++) {
int digit = Character.getNumericValue(baseDigits.charAt(i));
total = (total + digit) * 2;
}
int remainder = total % 11;
int result = (12 - remainder) % 11;
return result == 10 ? "X" : String.valueOf(result);
}Referencing norms: Mod112CheckDigitIsX, Mod112ExpectedCheckValue, Mod112FoldBase, Mod112FoldStep, Mod112Invalid, Mod112Remainder, Mod112Total, Mod112Valid
article/samples · provision
en · official · sha256:9204a1c28ec750bdbe3aa5826d837a9e977b23fb6d66fd58c8e39a5dadd98aaa
Some sample ORCID iDs
Below are some example ORCID iDs with checksums as described above and expressed in the proper format.
https://orcid.org/0000-0002-1825-0097
https://orcid.org/0000-0001-5109-3700
https://orcid.org/0000-0002-1694-233XThe hash beside the text is the sha256 of its exact bytes. It is the check that the text shown matches the one pinned in the package: a divergence fails the oracle’s static analysis.