Documentation: Official Library Part Number Specification

Maintained by: LDraw.org Standards Board
Revision: 1 (17-Jul-2020)

Revision History:
Revision 1: Original

This is an ratified, official LDraw.org document. Non-adminstrative changes can only be made with the approval of the maintainer.

Introduction

This document outlines the LDraw part numbering schema for the Offficial Library. While the goal is to be comprehensive, it may not outline all situations involving the numbering of parts for the Official Library. As these rules have evolved over time, there may be part in the Official Library that do not conform. This legacy numbering remains in place for backwards compatibility reasons. Do not submit parts to the Parts Tracker if you are unsure. When in doubt, please ask! You can post to everyone on the LDraw Forums, or email the parts library administrator.

General Part Numbering

Known Part Numbers

If the part number (Design ID) used by LEGO is known, then that number should be used.

Where to Find Part Numbers

For modern parts, these numbers are often moulded in a discreet place on the part. These are typically four digit numbers in the range 2001-9999, or five-digit numbers. Don't be confused by a number of the form n-nn (eg. 4-01), or even single numbers or letters on older parts - these are probably something to do with identifying individual moulds, they are not the part number.

Part Numbers vs. Element IDs

The numbers listed next to parts at the back of instruction manuals are not the part numbers (also called Design IDs) LDraw.org uses as its nomenclature, but the Element IDs or Item IDs, a number that signifies both the part shape and color. Since LDraw parts can be any color, LDraw does not use Element IDs but solely Design IDs. For example, a Brick 1x2's Design ID is "3004" while a Tan Brick 1x2's Element ID is "4109995". Hence you will not find 4109995 in the LDraw parts library.

Unknown Part Numbers

If LEGO part number is not known, "u" prefix is used (e.g. u1234.dat). The part in question gets a file name with uNNNN.dat format, these filenames thus ranging from u1.dat to u9999.dat. This number will be requested from the Parts Library Admin prior to submitting the part to the Parts Tracker. The part will retain the u-prefixed number as long as the part's true number is unknown. If the LEGO part number is identified during the review process, then the part will renumbered and the u-prefixed number will become available for re-use.

Prior to 2010, a three-digit part number was used. That range of numbers, however, was exhausted. During development, and for posting to the Parts Tracker, the three-digit number was preceded with an "x" (e.g. x123.dat), and upon inclusion in an official release, the "x" was removed. Parts that were on the Parts Tracker in February 2010 and not listed by Peeron, do not need be renamed to u9NNN numbers. They will continue to be renamed xNNN.dat -> NNN.dat upon release.

For backwards compatability reasons, nonconforming parts already in the Official Library will not be renumbered solely for the purpose of conforming to this rule.

Mould Variants/Different Versions or Parts with the Same Number

If the parts have different numbers, the different LEGO (design ID) numbers will be used. More commonly, the different variations will have the same number. This is managed by adding a single alpha character to the end of the base part number (e.g. 3626a.DAT and 3626a.DAT, the solid stud and hollow stud versions of the minifig head). If, prior to the second version being authored, one version of the part was released using just the official part number (no alpha-character suffix), it will be renumbered/moved to use an alpha-suffix. If the official part number is unknown, then separate uNNNN numbers will be used for each version.

Occaisonally a part is included with geometry that is not quite correct or the part number itself is incorrect. In this instance, in order to preserve backward compatability, when a corrected part is made, it's part number will follow these rules and the non-alpha suffix part will be made obsolete.

Parts on Sprues or Runners

Some small parts are delivered from LEGO still connected to a sprue (or runner) containing several different parts (e.g. the castle feathers or the coins). These are numbered in the same way as multi-version parts - by adding a single character suffix to the end of the part number.

Subparts

Subparts, which are stored in the parts\s subdirectory, should bear some relationship to their "parent" main part. Where there is extensive shared geometry, subparts may be used by parent parts with a different main number. They are numbered by appending a sNN suffix to the part number of the main part.
Examples:
s\1234s01.dat for 1234.dat
s\1234p56s01.dat for 1234p56.dat>

Primitives

Primitives are essentially highly reusable components, and for ease of use have highly coded names. Existing primitives are described in the Primitives Reference. If there is a need for a new class of primitives, the Parts Library Admins should contacted prior to submission.

Stud groups

Stud groups are provided to reduce the size of part files with many regularly spaced studs. The naming convention is as following:

stugN-XxZ.dat

Where:

  • N = type of stud (regular stud, hollow stud, underside stud, …)
  • X = number of studs on the x axis
  • Z = number of studs on the z axis

To prevent an overload of the library with all sort of combinations, the numbers on the x and z axis are limited to:

  • 1xZ stugs
  • Xx1 stugs (Due to stud orientation you cannot rotate a 1xZ stud group by 90 degrees to get a Xx1 stud group)
  • XxZ stugs where X==Z

Texture Image Files

Texture image files will have the same number as it's parent file. If more than one texture image is used for a part, a suffix of the part author's choice is added to the files. Examples:
4141698a.png for 4141698a.dat
6092p01wall1.png and 6092p01wall2.png for 6092p01.dat

Third Party Parts

Third party parts will have a tNNNN.dat format where NNNN is a number assigned by the Library Adminstrator

Shortcut (Assembly) Part Numbering

General Shortcut Part Numbering

Shortcut files used when several separate parts are typically delivered from LEGO pre-assembled or are frequently used in combination. These are numbered using the official LEGO number for the composite part, if known, or by appending cNN to the part number of one of the individual parts.

Shortcuts with More Than One Physical Configuration

Flexible parts such as springs, hoses, ropes, chains, or cloth can exist in more than one configuration.

If the flexible part is of a nature that smaller component parts are used to mimic the curving of the part (e.g. ribbed hoses, flexible axles), these parts with have a suffix of kNN

In all cases, the final assembly will have a suffix of -fN. The default or "at-rest" position will always be -f1

Patterned Part Numbering

General Patterned Part Numbering

In LDraw, a part with printing is called patterned. The decorative printing is the pattern. LDraw has it's own pattern numbering scheme, do not use the pattern code listed on other inventory websites.

The number for a patterned part is the same as the number for plain, or base, part, plus a 'p' and a 2 (or 3) digit code:
BBBBBpCC(C).dat
Where:
BBBBB is the 3-5 digit base number
CC(C) is the code for the pattern. The code can have a mix of letters and numbers.

Patterned Part Code

Normally, the first digit of the code helps to identify which theme or product line the pattern appears in. This isn't a hard-set rule, both because many patterned parts appear in multiple themes, and because this approach to pattern-numbering has evolved over time.

Range Assignment
0X General/Miscellaneous and Town
1X,2X Town, including Paradisa
3X Pirates, Soldiers, Islanders
4X Castle
5X,6X Space
7X,8X,9X Modern Town
aX Action (Adventurers, Aquazone, Alpha Team, Rock Raiders)
bX Superheroes
cX Control Panels, dials, gauges, keyboards, readouts, etc. / Superheroes (minifig parts)
cXY Patterned parts for Collectable Minifigures (heads, torsos, arms, hips, legs) from numbered series:
  • X=series number : 1,2,3,...a,b,c,..., Y=sequence : 1-9,a-h (a=10...h=17)
  • X=0 for Collectable Minifigures from accessory packs (where these differ from series versions)
dX Studios
dXY Patterned parts for Collectable Minifigures (heads, torsos, arms, hips, legs) from unnumbered series:
  • X=0 for 2012 Team GB; Y=1-9
  • X=1 for Simpsons series 1; Y=1-9,a-g
  • X=2 for The LEGO Movie; Y=1-9,a-g
  • X=3 for Simpsons series 2; Y=1-9,a-g
  • X=4 for Disney; Y=1-9,a-i
  • X=5 for 2016 German Football Team; Y=1-9,a-g
  • X=6 for The LEGO Batman Movie; Y=1-9,a-k
  • X=7 for The LEGO Ninjago Movie; Y=1-9,a-k
  • X=8 for The LEGO Batman Movie series 2; Y=1-9,a-k
  • X=9 for Wizarding World; Y=1-9, a-m
  • X=a for The LEGO Movie 2; Y=1-9, a-k
  • X=b for Disney series 2; Y=1-9, a-i
eX Nexo Knights
fX Fabuland and Scala or Castle (minifig parts)
gX Soccer, Basketball
hX Harry Potter
jX Indiana Jones
kX Cars (Disney Pixar)
mX Middle Earth (Lord of the Rings), Elves
nX Ninja
qX Pharaoh's Quest
rX,sX Star Wars
tX General Textual Patterns (lettering and numbers) and Trademark items (Corporate Logos, etc)
uX Extended textual patterns or Modern Town/City (minifig parts)
vX Extended textual patterns
wX Extended textual patterns or Western (minifig parts)
xX Miscellaneous Licenses (SpongeBob SquarePants, Ideas)
yX Racing (Racers, Tiny Turbos, Speed Champions)
zX Brickheadz

Sticker Part Numbering

General Sticker Part Numbering

Official LEGO numbering for sticker sheets has changed over time

  1. no copyright date sheets - 4-digit numbers: 3xxx, 4xxx or 6-digit numbers: 004xxx
  2. no copyright date sheets - 6-digit numbers: 168xxx, 169xxx, 197xxx, 820xxx, 821xxx
  3. ©1993 / 1994 - 6-digit numbers: 168xxx, 169xxx, 822xxx; a few 7-digit numbers: 4100xxx
  4. ©1995 - 2000 - combo 5-digit/7-digit numbers: 71xxx/41xxxxx, 72xxx/41xxxxx
  5. ©2000 - 2003 - combo 5-digit/7-digit numbers: 2xxxx/41xxxxx, 4xxxx/41xxxxx, 4xxxx/42xxxxx; a few 7-digit numbers: 42xxxxx
  6. ©2004 onwards - combo 5-digit/7-digit numbers: 5xxxx/4xxxxxx, 6xxxx/4xxxxxx, 7xxxx/4xxxxxx, 8xxxx/4xxxxxx
  7. ©2012 onwards - combo 5-digit/7-digit numbers: 1xxxx/60xxxxx

Sticker parts should be based on the sticker sheet number, if known, with a character suffix (a, b, c, etc.) for each sticker. If the sticker sheet contains only a single sticker or multiple copies of the same sticker, a suffix (a) should still be used. If the stickers are numbered on the sticker sheet, the printed sticker number and the character suffix should correspond to the sequence where a=1, b=2, ... , z=26, aa=27, ab=28, etc. Four digit numbers should be prefixed with two zeros to avoid clashes with LEGO parts (e.g. 004845a.dat, not 4845a.dat). Stickers from sheets with combo 5-digit/7-digit numbers should use the 7-digit number.

Sticker Sheets with No Number

Stickers from sheets with no printed number or of unknown number should use the next available sN, sNN or sNNN number.

Formed Stickers Parts

Formed versions of stickers to match the surface of a part should use the flat sticker part number with a cNN suffix.

Sticker Shortcuts

Sticker shortcuts should use the number of the part that the sticker is applied to with a dNN suffix.

Part Numbering Quick Reference Table

Part number pattern
(a = alpha, N= numeric, x = alphanumeric)
Usage
NNN Regular part of unknown LEGO number (see also uNNNN, below).
NNNN or NNNNN Regular part of known LEGO number.
NNNcNN, NNNNcNN, NNNNNdNN Shortcut assembly of part NNN, NNNN or NNNNN with other parts or formed version of flexible part NNN, NNNN or NNNNN.
NNNcNN-fn, NNNNcNN-fn, NNNNNcNN-fn Positional variant of shortcut assembly of movable parts, comprising part NNN, NNNN or NNNNN with other parts.
NNNdNN, NNNNdNN, NNNNNdNN Shortcut assembly of part NNN , NNNN or NNNNN with a sticker as used in an official set.
NNNpxx, NNNNpxx, NNNNNpxx Patterned version of regular part.
NNNapxx, NNNNapxx Patterned version of regular part variant.
s/NNNsNN, s/NNNNsNN, s/NNNNNsNN, s/NNNpxxx, s/NNNNsxxx Subfiles - stored in the parts/s directory.
NNNa, NNNNa, NNNNNa Regular part variant (a = a, b, c for successive versions of part, sequenced chronologically), or mini-part (a = a, b, c for each mini-part on the same runner or included in a small bag), or to maintain backward compatibility if an incorrect number is released into the official library.
sNNNN Sticker of unknown LEGO number.
tNNNN LEGO-compatible third-party part.
uNNNN Part of unknown LEGO number

Website copyright ©2003-2024 LDraw.org, see Legal Info for details.

LDraw is a completely unofficial, community run free CAD system which represents official parts produced by the LEGO company.

LDraw™ is a trademark owned and licensed by the Estate of James Jessiman
LEGO® is a registered trademark of the LEGO Group, which does not sponsor, endorse, or authorize this site. Visit the official Lego website at http://www.lego.com

LDraw.org is powered by CMS Made Simple.