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

URITypedocumentHashRetrieved
https://support.orcid.org/hc/en-us/articles/360006897674-Structure-of-the-ORCID-Identifiertext/plain; charset=utf-8sha256:a41936f8cd11b879eaa383dc661dbfa6a381a7fd68a323070029f2aa4105460b2026-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-233X

The 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.