Größenvorzeichen sind in ANSI-C-Programmen, die printf(3C) enthalten, zur Angabe von Größe und Typ des Umwandlungsarguments erforderlich. Der D-Compiler erledigt diese Verarbeitung für printf()-Aufrufe automatisch. Größenpräfixe werden hier also nicht benötigt. Sie stehen zwar aus Gründen der Kompatibilität mit C zur Verfügung, doch wird von ihrer Verwendung in D-Programmen ausdrücklich abgeraten, da sie den Code bei Einsatz abgeleiteter Typen an ein bestimmtes Datenmodell binden. Wenn beispielsweise eine typedef auf andere ganzzahlige Grundtypen in Abhängigkeit vom Datenmodell umdefiniert wird, kann keine einzelne C-Umwandlung verwendet werden, die für beide Datenmodelle funktioniert, ohne dass die beiden zugrunde liegenden Typen ausdrücklich angegeben und ein Cast-Ausdruck eingefügt oder mehrere Formatzeichenketten definiert werden. Der D-Compiler löst dieses Problem automatisch, indem er auf Größenpräfixe verzichtet und die Argumentgröße automatisch ermittelt.
Die Größenpräfixe können direkt vor den Namen der Formatumwandlung und hinter etwaige Flags, Breiten- und Genauigkeitszeichen gesetzt werden. Die Größenpräfixe lauten:
Ein optionales h gibt an, dass eine nachfolgende d-, i-, o-, u-, x- oder X-Umwandlung auf den Typ short oder unsigned short angewendet wird.
Ein optionales l gibt an, dass eine nachfolgende d-, i-, o-, u-, x- oder X-Umwandlung auf den Typ long oder unsigned long angewendet wird.
Ein optionales ll gibt an, dass eine nachfolgende d-, i-, o-, u-, x- oder X-Umwandlung auf den Typ long long oder unsigned long long angewendet wird.
Ein optionales L gibt an, dass eine nachfolgende e-, E-, f-, g- oder G-Umwandlung auf den Typ long double angewendet wird.
Ein optionales l gibt an, dass eine nachfolgende c-Umwandlung auf ein wint_t-Argument und ein nachfolgendes s-Umwandlungszeichen auf einen Zeiger auf ein wchar_t-Argument angewendet wird.