Each owner whose software title is mentioned in this document has a Software License Agreement specific to
its proprietary programs.
Any trade names and product names of companies appearing on Brother products, related documents and
any other materials are all trademarks or registered trademarks of those respective companies.
IMPORTANT - PLEASE READ CAREFULLY
Note
This documentation (“Documentation”) provides information that will assist you in controlling your Printer
(Please refer to “Appendix A: Supported Printers”).
You may use the Documentation only if you first agree to the following conditions.
If you do not agree to the following conditions, you may not use the Documentation.
Condition of Use
You may use and reproduce the Documentation to the extent necessary for your own use of your Printer
Model (“Purpose”). Unless expressly permitted in the Documentation, you may not;
(i) copy or reproduce the Documentation for any purpose other than the Purpose,
(ii) modify, translate or adapt the Documentation, and/or redistribute it to any third party,
(iii) rent or lease the Documentation to any third party, or,
(iv) remove or alter any copyright notices or proprietary rights legends included within the Documentation.
No Warranty
a. Any updates, upgrades or alteration of the Documentation or Printer Model will be performed at the sole
discretion of Brother. Brother may not respond to any request or inquiry about the Documentation.
b. THIS DOCUMENTATION IS PROVIDED TO YOU "AS IS" W ITHOUT WARRANTY OF ANY KIND,
WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY
OF FITNESS FOR A PARTICULAR PURPOSE. BROTHER DOES NOT REPRESENT OR WARRANT
THAT THIS DOCUMENTATION IS FREE FROM ERRORS OR DEFECTS.
c. IN NO EVENT SHALL BROTHER BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL,
SPECIAL OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER, ARISING OUT OF
THE USE, INABILITY TO USE, OR THE RESULTS OF USE OF THE DOCUMENTATION OR ANY
SOF TW ARE PROGRAM OR APPLICATION YOU DEVELOPED IN ACCORDANCE WITH THE
DOCUMENTATION.
ESC/P Command Reference
Contents
Introduction ····························································································1
What is ESC/P? ·······················································································2
1. Using ESC/P Commands ······································································3
2. Examples of Using ESC/P Commands ···················································5
Character code tables ..................................................................................................125
International character set table ..................................................................................129
Appendix D: Introducing the Brother Developer Center ························· 130
- iii Introduction
ESC/P Command Reference
Introduction
This material provides the necessary information for directly controlling your printer.
This information is provided assuming that the user has full understanding of the operating system being used
and basic mastery of communication interfaces in a developer's environment.
Read the model names that appear in the screens in this manual as the name of your printer.
We accept no responsibility for any problems caused by programs that you develop using the information
provided in this material, affecting software, data or hardware, including the printer, and any problems
resulting directly or indirectly from them. Use this material only if you accept these terms.
This material shall not be reproduced, in part or in full, without prior approval. In addition, this material shall
not be used as evidence in a lawsuit or dispute in a way that is unfavorable towards our company.
These ESC/P commands have been adapted specifically for this company.
- 1 Introduction
ESC/P Command Reference
What is ESC/P?
ESC/P is one type of control codes used for printers. With the codes introduced in this document, various
labels can be created and printed. In this document, ESC/P codes are provided as both ASCII and binary
codes.
When sending codes to the printer, make sure that the binary codes are used, otherwise the printer cannot
parse the codes.
- 2 -
What is ESC/P?
(1) Start ESC/P
1. Switch the command mode.
2. Initialize
- Switch command mode (ESC i a 0) Note: ESC/P mode
- Initialize (ESC @)
(2) Format settings
1. Select the orientation.
- Specify landscape orientation (ESC i L)
2. Specify the page size.
- Specify page length (ESC ( C)
3. Specify print area.
- Specify page format (ESC ( c)
- Specify left/right margins (ESC I, ESC Q)
4. Specify the line feed amount.
- Specify line feed amount (ESC 0, ESC 2, ESC 3, ESC A)
5. Specify tab positions.
- Specify horizontal tab position (ESC D)
- Specify vertical tab position (ESC B)
(3) Print operations
1. Specify the print position.
- Specify the vertical position (ESC ( v, ESC ( V, VT, ESC J)
- Specify the horizontal position (ESC $, ESC \, HT, ESC a)
2. Transfer the print data
(one line).
- Transfer necessary text operation codes (see (4)), bit images,
barcodes, and downloaded data (see (5))
3. End of the line.
- Feed the paper (CR, LF)
4. Repeat 1–3 above.
5. End of the page.
- Specify cutting (ESC i C)
- Feed the page (FF)
6. Repeat 1–5 above.
7. End of the document.
1. Using ESC/P Commands
Below is a description of the flow for creating documents.
Also refer to “2. Exam ples of Using ESC/P Commands”.
ESC/P Command Reference
- 3 -
1. Using ESC/P Commands
ESC/P Command Reference
(4) Text operations
1. Specify the character set.
- Select font (ESC k)
- Specify the character spacing (ESC P, ESC M, ESC SP)
2. Specify the character style.
- Specify character style
ESC SO, SI, ESC SI, DC2, DC4, ESC -, ESC !)
3. Specify character codes.
Repeat 1–3 above as necessary.
(5) Bit images, barcodes, and
image data
1. Specify bit images.
- (ESC *, ESC K, ESC L, ESC Y, ESC Z)
2. Specify barcodes.
- (ESC i B)
3. Specify 2D barcodes.
- (ESC i Q, ESC i V, ESC i D, ESC i M, ESC i J)
4. Print the downloaded data
- (ESC i F P)
first.
- Select character code (ESC t)
- Select international character set (ESC R)
- Specify character size (ESC X)
(ESC 4, ESC 5, ESC E, ESC F, ESC G, ESC H, ESC W, SO,
An image data has to be transferred and registered to the printer
- 4 -
1. Using ESC/P Commands
Register a media with the Custom Label tool.
Note: The media size to be used is also able to be
output and saved as a command file with the Custom
Label Tool .
Entered Command
ESC i a 00h
2. Examples of Using ESC/P Commands
Set Basic setup first.
Basic setup
1) Register a media to be used.
2) Specify ESC/P command mode.
Basic set up 1: Register a media to be used
ESC/P Command Reference
Basic set up 2: Specify ESC/P command mode
- 5 -
2. Examples of Using ESC/P Commands
5 inches
1 inch
1 inch
Step 1:
Landscape
Step 2:
Page length
Step 3:
Horizontal position
Step 4:
Vertical position
Step 5:
Font type: Helsinki
(proportional pitch
)
Step 6:
Character size: 100 dots
Entered command
ESC i L 01h
This is the label that will be made.
ESC/P Command Reference
In order to make this label, the following six steps are required.
The current paper position is the TOF.
The top and bottom m
argins are canceled with ESC ( c.
All previously entered text
is cleared.
A standard unit is not used.
This command is available only with continuous length
tape.
5inches
*The page length does not include the margins.
For the margins, subtract 6 mm (48 dots) from the page length.
nL
nH
mL
mH
ESC ( C 02h 00h C7h 03h
Entered
command
5 inches=101
5 dots
1015 dots–48 dots=967 dots
Page length=mL+mH*256=967
3
03h
199
C7h
Example: A case 203dpi printer is used
1 inch
1 inch=203 dots
Horizontal position=n1+n2*256=203
ESC $ CBh 00h
n1
n2
Entered command
= =
203
CBh
0
00h
= =
Example: A case 203dpi printer is used
Step 2: Specify the page length.
ESC/P Command Reference
Step 3: Specify the horizontal position.
- 7 -
2. Examples of Using ESC/P Commands
1 inch
1 inch=203 dots
Vertical position=mL+mH
*256=
203
109
CB
h
0
00h
ESC ( V 02h 00h CB
h
00h
nL
nH
mL
mH
Entered command
Example: A case 203dpi printer is used
Entered command
ESC k 0Bh
n
n=11=0Bh
Font type: Helsinki
(proportional pitch)
Step 4: Specify the vertical position.
ESC/P Command Reference
Step 5: Select the font type.
- 8 -
2. Examples of Using ESC/P Commands
Character size=nL+nH
*256=100 dots
ESC X 00h 64h
00h
m
nL
nH
Entered command
100
64h
0
00h
Character size
: 100 dots
Example: A case
203dpi
printer is used
Step 6: Specify the character size.
ESC/P Command Reference
- 9 -
2. Examples of Using ESC/P Commands
ESC i a
00h
ESC @
ESC i L 01h
ESC ( C 02h 00h C7h 03h
ESC $
CBh 00h
ESC ( V 02h 00h CBh 00h
ESC k 0Bh
ESC X 00h 64h 00h
At your side
FF
Select
ESC/P mode
Binary command: 1B 69 61 00
Initialize ESC/P mode
Binary command: 1B 40
6 steps explained above
Print start command
Binary command: 0C
Text to be print
Binary command: 41 74 20 79 6F 75
72 20 73 69 64 65
All commands together will make the example label shown below.
ESC/P Command Reference
However, these commands should be converted to binary data before sent to the printer, as shown below.
Here is the captured converted binary data.
When the printer receives above binary commands, the label shown below is printed.
- 10 -
2. Examples of Using ESC/P Commands
ESC/P Command Reference
Unprintable area
Left margin
Right margin
Top margin
Top margin position
(TOF position)
Bottom margin
Unprinted area
Print area
Unprintable area
3. ESC/P Command Limitations
3.1 Print area
The printing media are die-cut labels and continuous length tape.
The area that can physically be printed on depends on the size and type of the print media.
Die-cut labels
- 11 -
3. ESC/P Command Limitations
Printable area
Left margin
Right margin
Length of printable area
Bottom margin
Top margin
Label length
Label width
Height of
printable area
Label
spacing
Thermal head
Print area
* To specify media settings, use the Custom Label Tool.
Note: The maximum length of printable area is 3m when a continuous label is used.
ESC/P Command Reference
- 12 -
3. ESC/P Command Limitations
ESC/P Command Reference
Full size
Double width
Double height
Quadruple size
Half width
Double height
and half width
Nominal (dots)
16
24
32
48
Height (dots)
15
21
28
44
Width (dots)
8
10
14
44
3.2 Characters
This system uses single-byte character codes and is installed with 6 bitmap fonts (Letter Gothic Bold, Helsinki,
Gothic, Brussels, San Diego and Brougham) and 4 outline fonts (Letter Gothic, Brussels, Helsinki and
Gothic).
Fixed pitch or proportional pitch can be specified for any of the fonts.
However, there are fonts that are better with a fixed pitch and fonts that are better with a proportional pitch.
The fonts that are better with a fixed pitch are: Letter Gothic and Letter Gothic Bold Brougham.
The font that is better with a proportional pitch are: Brussels, Helsinki and Gothic San Diego.
Each bitmap font has three sizes or four sizes: 16 dots, 24 dots, 32 dots and 48 dots.
Please refer to section AppendixB:Specifications.
3.2.1 Character sizes
Each font is available in full size, compressed size (half width), double width, double height and half width,
double height, and quadruple size.
The actual character size is slightly smaller than the nominal size (the parameter value received with the size
command). This varies depending on the font.
The above example is for Letter Gothic Bold (full size, no character styles applied).
The line-drawing characters (┘└ ┤─ ├ │ ┼ ┬ ┐┌ , etc.) and shaded characters have their own pitch
regardless of the specified font and pitch (proportional or fixed) settings.
- 13 -
3. ESC/P Command Limitations
ESC/P Command Reference
Fixed spacing
c
a
b
c
b
a
Fixed
spacing
W
Variable spacing
C
I
W
Variable spacing
C
I
W
Variable spacing
C
I
W
Fixed spacing
C
I
Variable spacing
W
Fixed spacing
C
I
W
C
I
3.2.2 Character pitches
Pitch refers to the spacing between neighboring characters.
When characters are arranged with a fixed pitch, they will be evenly spaced.
If characters extend over several lines, they will align in straight rows.
When characters are arranged with a proportional pitch, the spacing will vary depending on the character.
(For example, “W” is wide but “I” is narrow.)
As a result, the excess space between characters is eliminated and the text appears more compact.
If a fixed pitch is applied to a font that is better with a proportional pitch, all characters are given the same
width as the widest character in the font.
This makes it possible to evenly space the characters of a proportional-pitch font without having to change the
font.
If a proportional pitch is applied to a font that is better with a fixed pitch, all characters are given the same
width, appearing the same as with a fixed pitch.
- 14 -
3. ESC/P Command Limitations
ESC/P Command Reference
A
Print position
Baseline position
A
Print position
A
A
Baseline position
3.3 Print position
The print position is the standard position for printing characters, bitmaps, and barcodes.
There is a horizontal print position and vertical print position, which are the reference points for vertical
position movement and horizontal position movement.
3.3.1 Characters
Characters are arranged with their top edges aligned with the print position.
The baseline of each character is the bottom edge of the character, regardless of size, font, etc.
All characters on a single line are printed with a baseline positions that is the same for each character.
If a single line consists of characters with different heights, the characters are aligned with the baseline of
the tallest character on the line.
Underlines are drawn 4 dots below the baseline position.
3.3.2 Bitmaps, barcodes and downloaded images
These types of image data are treated in the same way as characters and are printed with the bottom
edge of the image aligned with the baseline.
- 15 -
3. ESC/P Command Limitations
ESC/P Command Reference
Line feed amount
HHHHHHHHHHHHH
HHHHHHHHHHHHH
HHHHHHHHHHHHH
3.4 Line feed amount
The amount of line feed is the amount of vertical movement from the print position of one line to the print
position of the next line.
The line feed amount is specified with ESC 0, ESC 2, ESC A, and ESC 3.
Within a single line of text, the tallest character is determined, and the baseline is moved so that the top
edge of that character is at the vertical print position.
The tallest character within a line becomes the line height.
If characters are underlined, 4 dots are added to the line height.
If the line height is greater than the specified line feed amount, the line height is used as the actual line
feed amount.
In this way, even if the specified line feed amount is small, the upper and lower lines will not overlap.
(For printer-resident fonts.)
- 16 -
3. ESC/P Command Limitations
ESC/P Command Reference
canceling stretched
characters
Specify auto-canceling stretched
characters
Cancel auto-canceling
double-width characters
4. Control Code List
Character/style selection commands (Refer to section 5.1 Character/style selection commands.)
Commands Description
RJ-4XXX TD-4XXX
ESC R
ESC q
ESC k
ESC t
Select international character set
Select character style
Select font
Select character code set
○ ○
○ ○
○ ○
○ ○
Text printing commands (Refer to section 5.2 Text printing commands.)
Commands Description
RJ-4XXX TD-4XXX
ESC 4
ESC 5
ESC E
ESC F
ESC G
ESC H
ESC P
Apply italic style
Cancel italic style
Apply bo ld style
Cancel bold style
Apply double-strike printing
Cancel double-strike printing
Apply pica pitch (10 cpi)
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
Series
Series
ESC M
ESC q
ESC p
ESC W
SO
ESC SO
SI
ESC SI
DC2
DC4
ESC -
ESC !
ESC SP
ESC X
Apply elite pitch (12 cpi)
Apply micron pitch (15 cpi)
Specify proportional characters
Specify double-width characters
Specify auto-
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
Specify compressed characters
Specify compressed characters
Cancel compressed characters
○ ○
○ ○
○ ○
○ ○
Apply/cancel underlining
Global formatting
Specify character spacing
○ ○
○ ○
○ ○
Specify character size○ ○
- 17 -
4. Control Code List
Specify absolute
horizontal position
Line feed commands (Refer to section 5.3 Line feed commands.)
ESC/P Command Reference
Commands Description
Series
RJ-4XXX TD-4XXX
ESC 0
ESC 2
ESC 3
ESC A
Specify line feed of 1/8 inch
Specify line feed of 1/6 inch
Specify minimum line feed
Specify line feed of n/60 inch
○ ○
○ ○
○ ○
○ ○
Horizontal movement commands (Refer to section 5.4 Horizontal movement commands.)
Series
Commands Description
RJ-4XXX TD-4XXX
ESC l
ESC Q
CR
ESC D
HT
ESC $
Specify left margin
Specify right margin
Carriage return
Specify horizontal tab position
Perform horizontal tab
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
ESC \
ESC a
Specify relative horizontal position
Specify alignment
○ ○
○ ○
Vertical movement commands (Refer to section 5.5 Vertical movement commands.)
Series
Commands Description
RJ-4XXX TD-4XXX
LF
FF
ESC J
ESC B
VT
ESC ( V
ESC ( v
Line feed
Page feed
Forward paper feed
Specify vertical tab position
Perform vertical tab
Specify absolute vertical position
Specify relative vertical position
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
Paper formatting commands (Refer to section 5.6 Paper formatting commands.)
Series
Commands Description
RJ-4XXX TD-4XXX
ESC ( cSpecify page format○ ○
ESC ( CSpecify page length○ ○
- 18 -
4. Control Code List
8-dot double-speed
double-density bit image
Printer control comm ands (Refer to section 5.7 Printer control commands.)
ESC/P Command Reference
Commands Description
RJ-4XXX TD-4XXX
ESC @
Initialize (defaults)
○○
Graphics commands (Refer to section 5.8 Graphics commands.)
Commands Description
RJ-4XXX TD-4XXX
ESC *
ESC K
ESC L
ESC Y
ESC Z
Select bit image.
8-dot single-density bit image
8-dot double-density bit image
8-dot quadruple-density bit image
○ ○
○ ○
○ ○
○ ○
○ ○
Advanced commands (Refer to section 5.9 Advanced commands.)
Commands Description
RJ-4XXX TD-4XXX
Series
Series
Series
ESC i B
ESC i Q
ESC i P
ESC i V
ESC i D
ESC i M
ESC i J
ESC i G
ESC i F P
ESC i a
ESC i S
ESC i L
ESC i C
ESC i H
Barcode
2D barcode (QR Code)
Specify QR Code version
2D barcode (PDF417)
2D barcode (DataMatrix)
2D barcode (MaxiCode)
2D barcode (Aztec)
Specify font setting
Print downloaded data
Switch command mode
Status information request
Specify landscape orientation
Specify cutting
Specify recovery setting
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
○ ○
- ○
○ ○
- 19 -
4. Control Code List
orientation
Retrieve default landscape
orientation
Select default international
character set
Retrieve default international
character set
set
Advanced static commands (Refer to section 5.10 Advanced static commands.)