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
QL-8XX (where “8XX” is the model name).
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" WITHOUT 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
SOFTWARE 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 ................................................................................. 119
International character set table.................................................................. 120
Chinese character catalog (based on GB18030) ........................................ 121
Appendix C: Introducing the Brother Developer Center ························ 153
- iii -
ESC/P Command Reference
Introduction
This material provides the necessary information for directly controlling QL-8XX.
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 QL-8XX, 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)
- 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. Examples 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 g, ESC SP)
2. Specify the character style.
- Specify character style
ESC SO, SI, ESC SI, DC2, DC4, ESC -, ESC !)
3. Specify character codes.
4. Specify the ANK mode/
Chinese character mode.
- (FS &, FS .)
5. Specify the character set for
Chinese characters.
- Specify character size (FS Y)
- Specify the character spacing (FS S, FS T, FS U, FS V)
6. Specify the character style
for Chinese characters.
(ESC 4, ESC 5, ESC E, ESC F, ESC G, ESC H, ESC W, SO,
Downloaded image data must first be downloaded and saved on
- 4 -
1. Using ESC/P Commands
4 inches
0.5 inch
1 inch
Step 1:
Landscape
Step 2:
Page length
Step 3:
Horizontal position
Step 4:
Vertical position
Step 6:
Character size: 67 dots
Step 5:
Font type: Helsinki
Entered command
ESC i L
01h
n
2. Examples of Using ESC/P Commands
This is the label that will be made.
ESC/P Command Reference
In order to make this label, the following six steps are required after entering ESC/P mode.
Step 1: Select the landscape orientation.
- 5 -
2. Examples of Using ESC/P Commands
4 inches
*The page length does not include the margins.
For the margins, subtract 6 mm (
72 dots) from the page length.
nL
nH
mL
mH
ESC ( C 02h 00h 68h 04h
Entered command
4 inches=1200 dots
1200 dots–72 dots=1128 dots
Page length=mL+mH*256=1128
4
04h
104
68h
0.5 inch
0.5
inch=150
dots
Horizontal position=n1+n2*256=150
ESC $ 96h 00h
n1
n2
Entered command
= =
150
96h
0
00h
= =
Step 2: Specify the page length.
ESC/P Command Reference
Step 3: Specify the horizontal position.
- 6 -
2. Examples of Using ESC/P Commands
1 inch
1 inch=300
dots
Vertical position=mL+mH*256+18 dots=300
26
1Ah
1
01h
ESC ( V 02h 00h 1Ah 01h
nL
nH mL
mH
Entered command
Entered command
ESC k 08h
n
n=08=08h
Font type: Helsinki
Outline Font
Step 4: Specify the vertical position.
ESC/P Command Reference
Step 5: Select the font type.
- 7 -
2. Examples of Using ESC/P Commands
Character size
=nL+nH*256=67 dots
Character size: 67 dots
ESC X 00h 43h 00h
m
nL
nH
Entered command
67
43h
0
00h
Step 6: Specify the character size.
ESC/P Command Reference
- 8 -
2. Examples of Using ESC/P Commands
ESC i a 00h
ESC @
ESC i L 01h
ESC ( C 02h 00h 68h 04h
ESC $
96h 00h
ESC ( V 02h 00h 1A
h 01h
ESC k 08h
ESC X 00h 43h 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.
- 9 -
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
Unprintable area
Space above
physically printable
area
Space left of
physically printable
area
Physically printable
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
- 10 -
3. ESC/P Command Limitations
Printable area
(5) Left margin
(6) Right margin
(8) Length of printable area
(4) Bottom margin
(3) Top margin
(2) Label length
(1) Label width
(7) Height of
printable area
No.001
No.720
(9) Label
spacing
Thermal head
Sensor
segmenting
Standard Address
1
No
29mm
90.3mm
1.5mm
3mm
25.92mm
83.94mm
408 - 713
Large Address
2
No
38mm
90.3mm
1.5mm
3mm
34.98mm
83.94mm
295 - 707
Small Address
3
No
62mm
28.93mm
1.5mm
3mm
58.95mm
22.95mm
012 - 707
Sipping 4 No
62mm
100.36mm
1.5mm
3mm
58.95mm
93.93mm
012 - 707
Multi purpose
5
No
17mm
54.32mm
1.5mm
3mm
13.98mm
47.94mm
555 - 719
File Folder
6
No
17mm
87.13mm
1.5mm
3mm
13.98mm
80.97mm
555 - 719
CD/DVD (MKP)
7
Yes
58.29mm
58.29mm
3mm
3mm
52.34mm
52.34mm
051 - 668
29mmx42mm
29mmX52mm
(only for U.S.A)
(23mm)
39mmX48mm
(continued to the next page)
The print area for each media is described below.
Print area
The maximum length of continuous length label is 1 meter.
The character codes vary depending on ANK mode or Chinese character mode.
ANK mode 1Byte character codes are available.
1 bitmap font with 3 sizes: 16, 24, 32 dots
1 outline font with 22 sizes: 33, 38, 42, 46, 50, 58, 67, 75, 83, 92, 100,
117, 133, 150, 167, 200, 233, 267, 300, 333, 367, 400 dots
Chinese character mode * 2 or 4 Bytes character codes are available.
1 bitmap font with 3 sizes: 16, 24, 32 dots
1 outline font with 22 sizes: 33, 38, 42, 46, 50, 58, 67, 75, 83, 92, 100,
117, 133, 150, 167, 200, 233, 267, 300, 333, 367, 400 dots
*1 ANK(Alphabets and number) is available in the Chinese character mode but it is specified by different code
from ANK mode.
*2 GB18030 is available for the Chinese character mode.
3.2.1 Character sizes
ANK mode
Each font is available in full size, compressed size (half width), double width, double height and half width,
double height, and quadruple size.
Chinese character mode
Each font is available in full size, half width, double height, double width, double height and width,
superscript and subscript quarter square character. These sizes are able to be used together.moreover
verticall or horizontal writing can be chosen.
If the half width and the quarter square character are used together, half width specification is ignored.
- 13 -
3. ESC/P Command Limitations
Full size
Double width
Double height
Half width
A
A
Double height
and width
Superscript
quarter square
Subscript
quarter square
Full size
Double width
Double height
Half width
Double width
and half width
Double height
and width
A
A
Superscript
quarter square
Subscript
quarter square
Full size
Double width
Double height
Half width
Double height
and half width
Double height
and width
A
A
Superscript
quarter square
Subscript
quarter square
Example of a combination
ESC/P Command Reference
1) When vertical writing
2) When horizontal writing
- 14 -
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.
- 15 -
3. ESC/P Command Limitations
ESC/P Command Reference
A
Print position
Baseline position
A
Start position
A
A
Baseline position
A
A
A
A
A
A
Baseline position
Start 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
When horizontal writing
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.
When vertical writing
When vertical writing, a center of a character is placed onto the middle of the height of a line.
When vertical writing, an underline starts from a print position and a character starts 4dots blow from the
underline.
- 16 -
3. ESC/P Command Limitations
ESC/P Command Reference
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.
3.3.3 Same line
Characters and images are considered to be on the same line, even if they are separated by tabs.
Horizontal movement to the right between characters or images is regarded as being on the same line;
however, horizontal movement to the left is regarded as being on separate lines if wrapping occurs.
- 17 -
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.
The underline is placed underneath of the characters when horizontal writing and above of the characters
when vertical writing.
When underline for both horizontal and vertical characters are existing in the same line, 8 dots are added
for the heght of the line.
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.
- 18 -
3. ESC/P Command Limitations
ESC/P Command Reference
ASCII Code
Binary Code
Description
ESC R
1B 52
Select international character set
ESC q
1B 71
Select character style
ASCII Code
Binary Code
Description
ESC 4
1B 34
Apply italic style
ESC 5
1B 35
Cancel italic style
ESC E
1B 45
Apply bold style
ESC F
1B 46
Cancel bold style
ESC G
1B 47
Apply double-strike printing
ESC H
1B 48
Cancel double-strike printing
ESC P
1B 50
Apply pica pitch (10 cpi)
ESC M
1B 4D
Apply elite pitch (12 cpi)
ESC g
1B 67
Apply micron pitch
ESC p
1B 70
Specify proportional characters
ESC W
1B 57
Specify double-width characters
SO
0E
Specify auto-canceling stretched characters
ESC SO
1B 0E
Specify auto-canceling stretched characters
SI
0F
Specify compressed characters
ESC SI
1B 0F
Specify compressed characters
DC2
12
Cancel compressed characters
DC4
14
Cancel auto-canceling double-width characters
ESC -
1B 2D
Apply/cancel underlining
ESC !
1B 21
Global formatting
ESC SP
1B 20
Specify ANK character spacing
ESC X
1B 58
Specify ANK character size
4. Control Code List
Character/style selection commands (Refer to section 5.1 Character/style selection commands.)
Text printing commands (Refer to section 5.2 Text printing commands.)
- 19 -
4. Control Code List
ASCII Code
Binary Code
Description
ESC 0
1B 30
Specify line feed of 1/8 inch
ESC 2
1B 32
Specify line feed of 1/6 inch
ESC 3
1B 33
Specify minimum line feed
ESC A
1B 41
Specify line feed of n/60 inch
ASCII Code
Binary Code
Description
ESC l
1B 6C
Specify left margin
ESC Q
1B 51
Specify right margin
CR
0D
Carriage return
ESC D
1B 44
Specify horizontal tab position
HT
09
Perform horizontal tab
ESC $
1B 24
Specify absolute horizontal position
ESC \
1B 5C
Specify relative horizontal position
ESC a
1B 61
Specify alignment
ASCII Code
Binary Code
Description
LF
0A
Line feed
FF
0C
Page feed
ESC J
1B 4A
Forward paper feed
ESC B
1B 42
Specify vertical tab position
VT
0B
Perform vertical tab
ESC ( V
1B 28 56
Specify absolute vertical position
ESC ( v
1B 28 76
Specify relative vertical position
ASCII Code
Binary Code
Description
ESC ( c
1B 28 63
Specify page format
ESC ( C
1B 28 43
Specify page length
ESC U
1B 55
Specify minimum margin
Line feed commands (Refer to section 5.3 Line feed commands.)
Horizontal movement commands (Refer to section 5.4 Horizontal movement commands.)
ESC/P Command Reference
Vertical movement commands (Refer to section 5.5 Vertical movement commands.)
Paper formatting commands (Refer to section 5.6 Paper formatting commands.)
- 20 -
4. Control Code List
ASCII Code
Binary Code
Description
ESC @
1B 40
Initialize (defaults)
ASCII Code
Binary Code
Description
ESC *
1B 2A
Select bit image
ESC K
1B 4B
8-dot single-density bit image
ESC L
1B 4C
8-dot double-density bit image
ESC Y
1B 59
8-dot double-speed double-density bit image
ESC Z
1B 5A
8-dot quadruple-density bit image
ASCII Code
Binary Code
Description
FS &
1C 26
Specify Chinese character mode
FS .
1C 2E
Cancel Chinese character mode
FS J
1C 4A
Specify vertical writing
FS K
1C 4B
Specify horizontal writing
FS S
1C 53
Specify size of space for full size characters
FS T
1C 54
Specify size of space for half size characters
FS U
1C 55
Space adjustment between half size characters
Cancel space adjustment between half size
characters
FS W
1C 57
Select double height and width characters
FS Y
1C 59
Specify Chinese character size
FS r
1C 72
Specify quarter square characters
FS -
1C 2D
Apply Chinese character underlining
FS !
1C 21
Global Formatting for Chinese character
FS SI
1C 0F
Specify half-width characters
FS DC2
1C 12
Cancel half-width characters
FS SO
1C 0E
Specify auto-canceling double-width character
FS DC4
1C 14
Cancel auto-canceling double-width character
Printer control commands (Refer to section 5.7 Printer control commands.)
Graphics commands (Refer to section 5.8 Graphics commands.)
Chinese character Commands (Refer to section 5.9 Chinese character commands.)
ESC/P Command Reference
FS V 1C 56
- 21 -
4. Control Code List
ASCII Code
Binary Code
Description
ESC i B
1B 69 42
Barcode
ESC i Q
1B 69 51
2D barcode (QR Code)
ESC i P
1B 69 50
Specify QR Code version
ESC i V
1B 69 56
2D barcode (PDF417)
ESC i D
1B 69 44
2D barcode (DataMatrix)
ESC i M
1B 69 4D
2D barcode (MaxiCode)
ESC i J
1B 69 4A
2D barcode (Aztec)
ESC i F
1B 69 46
Print downloaded data
ESC i a
1B 69 61
Switch command mode
ESC i S
1B 69 53
Status information request
ESC i L
1B 69 4C
Specify landscape orientation
ESC i C
1B 69 43
Specify cutting
ESC i W
1B 69 57
Specify character color
ASCII Code
Binary Code
Description
ESC iXQ2
1B 69 58 51 32
Select default character style
ESC iXQ1
1B 69 58 51 31
Retrieve default character style
ESC iXX2
1B 69 58 58 32
Specify default ANK character size
ESC iXX1
1B 69 58 58 31
Retrieve default ANK character size
ESC iX32
1B 69 58 33 32
Specify default line feed
ESC iX31
1B 69 58 33 31
Retrieve default line feed
ESC iXA2
1B 69 58 41 32
Select default alignment
ESC iXA1
1B 69 58 41 31
Retrieve default alignment
ESC iX(2
1B 69 58 28 32
Specify default page length
ESC iX(1
1B 69 58 28 31
Retrieve default page length
ESC iXL2
1B 69 58 4C 32
Select default landscape orientation
ESC iXL1
1B 69 58 4C 31
Retrieve default landscape orientation
ESC iXj2
1B 69 58 6A 32
Select default international character set
ESC iXj1
1B 69 58 6A 31
Retrieve default international character set
ESC iXU2
1B 69 58 55 32
Specify default minimum margin
ESC iXU1
1B 69 58 55 31
Retrieve default minimum margin
Advanced commands (Refer to section 5.10 Advanced commands.)
ESC/P Command Reference
Advanced static commands (Refer to section 5.11 Advanced static commands.)
- 22 -
4. Control Code List
ESC/P Command Reference
n=0:
U.S.A.
n=1:
France
n=2:
Germany
n=3:
U.K.
n=4:
Denmark I
n=5:
Sweden
n=6:
Italy
n=7:
Spain I
n=8:
Japan
n=9:
Norway
n=10:
Denmark II
n=11:
Spain II
n=12:
Latin America
n=13:
South Korea
n=64:
Legal
5. Control Command Details
5.1 Character/style selection commands
ESC R Select international character set
ASCII: ESC R n
Decimal: 27 82 n
Hexadecimal: 1B 52 n
Parameters
0≤n≤13, 64
Description
Selects the character set, and switches some of the character codes in the code table according to the
ASCII: ESC k n
Decimal: 27 107 n
Hexadecimal: 1B 6B n
Parameters
n=0, 8
Description
Selects the font.
The default value is n=0 (Helsinki, Simhei).
If the font is changed from a bitmap font to outline font, the character size is changed to the default setting
(42 dots).
If the font is changed from an outline font to bitmap font, the character size is changed to default setting
(32 dots).
- 25 -
5. Control Command Details
5.2 Text printing commands
ESC 4 Apply italic style
ASCII: ESC 4
Decimal: 27 52
Hexadecimal: 1B 34
Parameters
None
Description
Prints the subsequent text in italics.
Both ANK and Chinese characters are available.
Valid when horizontal writing.
ESC/P Command Reference
This command is valid anywhere in a text line.
ESC 5 Cancel italic style
ASCII: ESC 5
Decimal: 27 53
Hexadecimal: 1B 35
Parameters
None
Description
Cancels the italic character style.
This command is valid anywhere in a text line.
Prints the subsequent text in bold.
Both ANK and Chinese characters are available.
This command is valid anywhere in a text line.
ESC/P Command Reference
ESC F Cancel bold style
ASCII: ESC F
Decimal: 27 70
Hexadecimal: 1B 46
Parameters
None
Description
Cancels the bold style.
This command is valid anywhere in a text line.
Both ANK and Chinese characters are available.
Example
Code: ABC ESC E DEF ESC F GHI FF
Print result: ABCDEFGHI
- 27 -
5. Control Command Details
ESC G Apply double-strike printing
ASCII: ESC G
Decimal: 27 71
Hexadecimal: 1B 47
Parameters
None
Description
Prints the subsequent text in bold.
This command is valid anywhere in a text line.
Both ANK and Chinese characters are available.
ESC/P Command Reference
ESC H Cancel double-strike printing
ASCII: ESC H
Decimal: 27 72
Hexadecimal: 1B 48
Parameters
None
Description
Cancels the bold style.
This command is valid anywhere in a text line.
Both ANK and Chinese characters are available.
Example
Code: ABC ESC G DEF ESC H GHI FF
Print result: ABCDEFGHI
- 28 -
5. Control Command Details
ESC/P Command Reference
A
B
6 dots
24 dots
A
B
48 dots
12 dots
Full width
Double width
ESC P Apply pica pitch (10 cpi)
ASCII: ESC P
Decimal: 27 80
Hexadecimal: 1B 50
Parameters
None
Description
Prints the subsequent text (ANK character) with the pica pitch (10 characters/inch).
The character spacing is 30 dots (=300 dots/10 characters).
If the character width is 30 dots or less, the character spacing is specified as 30 minus the character width.
If the character width exceeds 30 dots, the character spacing is specified as the character width.
(The spacing between characters is 0 dot.)
In this case, the pitch does not exactly equal the pica pitch.
With double-width characters, the character spacing is doubled (60 dots).
With half-width characters, the character spacing is halved (15 dots).
When the character spacing is changed with ESC SP, the setting is updated.
This command is invalid when proportional pitch is selected.
Example
For a 24-dot font at full width:
- 29 -
5. Control Command Details
ESC/P Command Reference
A
B
1 dot
24 dots
A
48 dots
2 dots
Full width
Double width
B
ESC M Apply elite pitch (12 cpi)
ASCII: ESC M
Decimal: 27 77
Hexadecimal: 1B 4D
Parameters
None
Description
Prints the subsequent text (ANK character) with the elite pitch (12 characters/inch).
The character spacing is 25 dots (=300 dots/12 characters).
If the character width is 25 dots or less, the character spacing is specified as 25 minus the character width.
If the character width exceeds 25 dots, the character spacing is specified as the character width.
(The spacing between characters is 0 dot.)
In this case, the pitch does not exactly equal the elite pitch.
With double-width characters, the character spacing is doubled (50 dots).
With half-width characters, the character spacing is halved (13 dots).
When the character spacing is changed with ESC SP, the setting is updated.
This command is invalid when proportional pitch is selected.
Example
For a 24-dot font at full width:
- 30 -
5. Control Command Details
ESC/P Command Reference
A
B
4 dot
16dots
A
B
32 dots
8 dots
Full width
Double width
ESC g Apply micron pitch
ASCII: ESC g
Decimal: 27 103
Hexadecimal: 1B 67
Parameters
None
Description
Prints the subsequent text (ANK character) with the micron pitch (15 characters/inch).
The character spacing is 20 dots (=300 dots/15 characters).
If the character width is 20 dots or less, the character spacing is specified as 20 minus the character width.
If the character width exceeds 20 dots, the character spacing is specified as the character width.
(The spacing between characters is 0 dot.)
In this case, the pitch does not exactly equal the micron pitch.
With double-width characters, the character spacing is doubled (40 dots).
With half-width characters, the character spacing is halved (10 dots).
When the character spacing is changed with ESC SP, the setting is updated.
This command is invalid when proportional pitch is selected.
Example
For a 16-dot font at full width:
- 31 -
5. Control Command Details
ESC/P Command Reference
n=1 or 49 (“1”): Specifies proportional characters.
n=0 or 48 (“0”): Cancels proportional characters.
n=1 or 49 (“1”): Specifies double-width characters.
n=0 or 48 (“0”): Cancels double-width characters.
ESC p Specify proportional characters
ASCII: ESC p n
Decimal: 27 112 n
Hexadecimal: 1B 70 n
Parameters
n=0, 1, 48 (“0”), 49 (“1”)
Description
Specifies proportional characters.
If proportional characters are specified, the character spacing specified with ESC SP is maintained as is.
Valid only for the ANK characters in ANK mode.
ESC W Specify double-width characters
ASCII: ESC W n
Decimal: 27 87 n
Hexadecimal: 1B 57 n
Parameters
n=0, 1 or 48 (“0”), 49 (“1”)
Description
Specifies double-width characters.
Double-width characters specified with this command are not canceled with the DC4, FS DC4 code or a
line feed.
Canceling double width characters cancels both half width and quarter square character in Chinese
character mode and reducing character size in ANK mode.
Both ANK and Chinese characters are available.
Example
Code: ABC ESC W 1 ABC ESC W 0 ABC FF
Print result: ABC
ABC
ABC
- 32 -
5. Control Command Details
SO Specify auto-canceling stretched characters
ASCII: SO
Decimal: 14
Hexadecimal: 0E
Parameters
None
Description
Prints the subsequent text at double width.
This command is canceled with DC4, LF, VT, FF, CR or an automatic line feed.
This command is canceled with ESC $, ESC \, ESC J, ESC ( V or ESC ( v.
This command can also be canceled with ESC W+0.
Both ANK and Chinese characters are available.
ESC/P Command Reference
ESC SO Specify auto-canceling stretched characters
ASCII: ESC SO
Decimal: 27 14
Hexadecimal: 1B 0E
Parameters
None
Description
Same as SO
Example
Code: ABC ESC SO ABCDEFGHIJK…XYZ FF
Print result: ABC
XYZ
ABCDEFGHIJK…
(Automatic line feed)
- 33 -
5. Control Command Details
SI Specify compressed characters
ASCII: SI
Decimal: 15
Hexadecimal: 0F
Parameters
None
Description
Prints the subsequent text at half width.
ESC SI Specify compressed characters
ESC/P Command Reference
ASCII: ESC SI
Decimal: 27 15
Hexadecimal: 1B 0F
Parameters
None
Description
Same as SI
- 34 -
5. Control Command Details
DC2 Cancel compressed characters
ASCII: DC2
Decimal: 18
Hexadecimal: 12
Parameters
None
Description
Cancels compressed characters specified with SI or ESC SI.
DC4 Cancel auto-canceling double-width characters
ESC/P Command Reference
ASCII: DC4
Decimal: 20
Hexadecimal: 14
Parameters
None
Description
Cancels double-width characters specified with ESC SO or SO.
Does not cancel the ESC W command.
Both ANK and Chinese characters are available.
This command is valid anywhere in a text line.
The underlining specified with this command is a continuous line.
Spaces between characters and words are also underlined.
Areas with the “specify absolute horizontal position” (ESC $) and “specify relative horizontal position”
(ESC \) commands are not underlined.
Bit images and barcodes are not underlined either.
4/300 inch (4 dots) is added to the line feed amount for lines that include underlined characters.
The underline is positioned as follows:
ASCII: ESC ! n
Decimal: 27 33 n
Hexadecimal: 1B 21 n
Parameters
0≤n≤255
Description
Specifies a combination of print modes.
Specifies modes depending on the bit value of n.
When the ESC ! code is used, a combination of multiple print modes can be specified at one time.
Bold, Double width and Italics specified with this command are also valid in Chinese character mode.
The priority order is from Bit 5 to Bit 2.
Bit 0 is available only if Bit 1 is 0.
Selected character styles are canceled, and the characters return to the normal style.
Canceling double width characters cancels both half width and quarter square character in Chinese
character mode and reducing character size in ANK mode.
Selected character styles are canceled.
1 Underline Italics
Double
Double
Bold Compressed Proportional 12 cpi
Example
To apply underlining and specify double-width characters at the same time:
ASCII: ESC SP n
Decimal: 27 32 n
Hexadecimal: 1B 20 n
Parameters
0≤n≤127
Description
Specifies the character spacing.
n indicates the number of dots.
The default setting is 0 dot.
With double-width characters, the character spacing is doubled; with half-width characters, it is halved.
Valid in ANK mode.
- 38 -
5. Control Command Details
Character width:
The value of m is irrelevant.
Character size:
<Bitmap fonts>
<Outline fonts>
nH=1
ESC X Specify character size
ASCII: ESC X m nL nH
Decimal: 27 88 m nL nH
Hexadecimal: 1B 58 m nL nH
This command is used only to change the size.
The character width cannot be specified.
The character size is specified as n=nL+nH*256 dots.
The width and the height are the same.
With bitmap fonts, only n=16, 24 and 32 are valid.
With outline fonts, n is valid only when it is one of the following values:
The commands for specifying stretched characters, compressed characters and the character spacing
(SO, ESC W, SI, ESC !, ESC SP) remain available.
Example
For “ABC” at a 24-dot size and “DEF” at a 50-dot size:
Code: ESC k 00h
ESC X 00h 18h 00h ABC
ESC k 08h
ESC X 00h 32h 00h DEF FF
Print result: ABCDEF
- 39 -
5. Control Command Details
5.3 Line feed commands
ESC 0 Specify line feed of 1/8 inch
ASCII: ESC 0
Decimal: 27 48
Hexadecimal: 1B 30
Parameters
None
Description
Specifies a line feed of 1/8 inch (about 0.32 cm).
Specifies a line feed of 38/300 inch (=38 dots).
ESC/P Command Reference
ESC 2 Specify line feed of 1/6 inch
ASCII: ESC 2
Decimal: 27 50
Hexadecimal: 1B 32
Parameters
None
Description
Specifies a line feed of 1/6 inch (about 0.42 cm).
Specifies a line feed of 50/300 inch (=50 dots).
- 40 -
5. Control Command Details
ESC 3 Specify minimum line feed
ASCII: ESC 3 n
Decimal: 27 51 n
Hexadecimal: 1B 33 n
Parameters
0≤n≤255
Description
Specifies a line feed of n/300 inch per line.
The line feed is specified in 1-dot units.
ESC A Specify line feed of n/60 inch
ESC/P Command Reference
ASCII: ESC A n
Decimal: 27 65 n
Hexadecimal: 1B 41 n
Parameters
0≤n≤255
Description
Specifies a line feed of n/60 inch.
The line feed is specified in 5-dot units.
- 41 -
5. Control Command Details
ESC/P Command Reference
1 2
3 4 5 6 7 8 9 10 11 12 13 14 15 16
Print area
Unprinted
area
Unprinted
area
Left margin setting
Right margin setting
Left edge
Left margin position
Right margin position
Printable area
Example: Left margin=Column 5; right margin=Column 14
Columns
5.4 Horizontal movement commands
ESC l Specify left margin
ASCII: ESC l n
Decimal: 27 108 n
Hexadecimal: 1B 6C n
Parameters
0≤n≤2550≤left margin<right margin
Description
The left margin and the right margin use the left edge of the physically printable area as the reference.
The area between the left edge of the physically printable area and the specified number of columns is
specified as an unprinted area. The left margin position is the right edge of the specified column.
(Character width*n)
The setting is in the range 0≤(character width*n) ≤x. Settings outside that range are ignored. However, x is
a value dependent on the media.
The area between the left edge (first column) to the nth column is specified as an unprinted area.
The position of the left margin is the character width (when this command was specified)*n from the left
edge.
The character width when the margin specified includes the settings for the space between characters,
setting for full size or half size characters. In addition, when a pitch of 10 cpi (=30 dots), 12 cpi (=25 dots)
or 15cpi (=20 dots), compressed characters or double-width characters are specified, that character
width is considered as the unit.
However, character styles that increase the character width are not applied.
- 42 -
5. Control Command Details
ESC/P Command Reference
The horizontal print position is moved to the left margin position.
If the left margin setting is not at the beginning of the line, the left margin is specified after a line feed.
The beginning of the line indicates the left margin position for left alignment; for right and center
alignment, it means that no image or character is entered on the line.
Even if the character width is changed after the left margin has bee specified, the left margin position does
not change.
A left margin setting that puts the left margin position to the right of the right margin position is ignored.
The left margin should be specified at least one column (10 cpi=30 dots) less than the right margin.
(If the character width (when the command was specified)*n is greater than the right margin-30 dots), the
setting is ignored.)
If the difference between the right margin position and the left margin position is less than one character,
that character is ignored.
When proportional pitch is specified with the ESC p command, a character width of 10 cpi (=30 dot) is
applied.
If the print media is continuous length tape, the printing orientation is landscape and the page length is not
specified, commands specifying the left margin are ignored.
If the minimum margin has been set to 3 mm and the printing orientation is landscape, the left margin
ASCII: ESC Q n
Decimal: 27 81 n
Hexadecimal: 1B 51 n
Parameters
1≤n≤255
Left margin<character width (when the command was specified)*n≤printable area
Description
The left margin and the right margin use the left edge of the physically printable area as the reference.
The right margin position is the right edge of the specified column. (Character width*n)
The setting is in the range 1≤(character width*n)≤x. Settings outside that range are ignored. However, x is
a value dependent on the media.
Left margin≤print area<right margin
The position of the right margin is the character width (when the command was specified)*n from the left
edge.
The character width when the margin specified includes the settings for the space between characters,
setting for full size or half size characters. In addition, when a pitch of 10 cpi (=30 dots), 12 cpi (=25 dots)
or 15 cpi (=20 dots), compressed characters or double-width characters are specified, that character
width is considered as the unit.
However, character styles that increase the character width are not applied.
The horizontal print position is moved to the left margin position.
If the right margin setting is not at the beginning of the line, the right margin is specified after a line feed.
The beginning of the line indicates the left margin position for left alignment; for right and center
alignment, it means that no image or character is entered on the line.
Even if the character width is changed after the right margin has been specified, the right margin position
does not change.
A right margin setting that puts the right margin position to the left of the left margin position is ignored.
The right margin should be specified at least one column (10 cpi=30 dots) greater than the left margin.
(If the character width (when the command was specified)*n is less than the left margin+30 dots, the
setting is ignored.)
If the difference between the right margin position and the left margin position is less than one character,
that character is ignored.
When proportional pitch is specified with the ESC p command, a character width of 10 cpi (=30 dot) is
applied.
If the print media is continuous length tape, the printing orientation is landscape and the page length is not
specified, commands specifying the right margin are ignored.
If the minimum margin has been set to 3 mm and the printing orientation is landscape, the right margin
increases by 1 mm.
- 44 -
5. Control Command Details
ESC/P Command Reference
CR Carriage return
ASCII: CR
Decimal: 13
Hexadecimal: 0D
Parameters
None
Description
Ends input of a line, and waits for input of the next line.
The next print position becomes the beginning of the next line.
A line feed command immediately after the carriage return is ignored.
Both Auto-canceling double-width characters specified in ANK mode with SO or ESC SO and Chinese
character mode with FS SO are canceled.
Same process as LF
- 45 -
5. Control Command Details
ESC/P Command Reference
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Unprinted area
HT code
Left edge
Left margin position
Right margin position
Printable area
Example:
After the left margin is specified
as
Column 3 and the right margin as Column 15,
horizontal tabs were specified at Column 5 and Column 10, and HT were performed.
Description
The horizontal tab position is the character width (when the command was specified)*n from the left
margin.
Enter n values in ascending order and end the settings with NUL.
If an n value is smaller than a previous one, tab setting is ended.
Even if the character width is changed after the horizontal tab positions have been specified, the horizontal
tab position settings do not change.
ESC D NUL cancels all horizontal tab positions.
If the left margin is moved, the horizontal tab positions are also moved by the same amount.
Up to 32 horizontal tab positions can be specified. However, horizontal tab positions beyond the right
margin are invalid and only become valid when a change in the right margin setting or left margin setting
moves the print area to include those tab positions.
The character width when the horizontal tabs are specified includes the settings for the space between
characters, setting for full size or half size characters. In addition, when a pitch of 10 cpi, 12 cpi or 15 cpi
compressed characters or double-width characters are specified, that character width is considered as
the unit.
When proportional pitch is specified with ESC p, horizontal tab positions are specified at 10 cpi.
When the printer is turned on, a horizontal tab position is specified every 8 columns at 10 cpi.
Even if the character width is changed before the horizontal tab positions has been specified, the
horizontal tab positions do not change.
- 46 -
5. Control Command Details
ESC/P Command Reference
HT Perform horizontal tab
ASCII: HT
Decimal: 9
Hexadecimal: 09
Parameters
None
Description
Moves the horizontal print position to the nearest horizontal tab position to the right of the input position.
If there is no horizontal tab position to the right of the input position, or if the next horizontal tab position is
beyond the right margin, the HT command is ignored.
If underlining is specified, the space between the current position and the next horizontal tab position is not
underlined.
When the printer is turned on, a horizontal tab position is specified every 8 columns at 10 cpi.
Even if the character width is changed before the horizontal tab positions have been specified, the
horizontal tab positions do not change.
This command is available only with left alignment.
Example
To specify horizontal tabs at Column 4, Column 8, and Column 12, and perform horizontal tabs:
Code: ESC D 04h 08h 0Ch 00h
123456789012 CR A HT B HT C HT D FF
Print result: 123456789012
A B C D
Specifies the absolute print position (in dots) for the next data.
An absolute print position specifies the next print position as a number of dots from the left margin.
n1 and n2 indicate the number of dots from the left margin.
(Number of dots=n1+n2*256)
The dot spacing is calculated as 1/300 inch.
The maximum number of dots that can be specified with n1 and n2 depends on the media.
This command is available only with left alignment.
Specifies the horizontal print position (in dots) as a relative position from the current position.
A relative position specifies the next print position as a number of dots from the current position.
n1 and n2 indicate the number of dots from the current position. (Number of dots=n1+n2*256)
The dot spacing is calculated as 1/300 inch.
Left margin position≤horizontal position after moving<right margin position
Horizontal position after moving=n1+n2*256
The specified value for moving to the left is expressed as a two's complement. It is determined by the
following equation.
n1+n2*256=65536-distance actually moved
This command is available only with left alignment.
- 48 -
5. Control Command Details
ESC/P Command Reference
n=0 or 48 (“0”): Applies left alignment.
n=1 or 49 (“1”): Applies center alignment.
n=2 or 50 (“2”): Applies right alignment.
n=3 or 51 (“3”): Applies nothing.
ESC a Specify alignment
ASCII: ESC a n
Decimal: 27 97 n
Hexadecimal: 1B 61 n
Parameters
0≤n≤3 or“0”≤n≤“3”
Description
Prints the subsequent text with the alignment described below, according to the value of n.
The default setting is n=0.
Data is aligned between the left and right margins by entering a CR, LF, and FF code or by buffer printing.
If the alignment setting is not at the beginning of the line, the alignment is specified after a line feed.
The beginning of the line indicates the left margin position for left alignment;
for right and center alignment, it means that no image or character is entered on the line.
HT, ESC \ and ESC $ are ignored when n=1 or n=2.
If the print media is continuous length tape, the printing orientation is landscape and the page length is not
specified, commands specifying alignment are ignored.
- 49 -
5. Control Command Details
ESC/P Command Reference
5.5 Vertical movement commands
LF Line feed
ASCII: LF
Decimal: 10
Hexadecimal: 0A
Parameters
None
Description
Feeds the paper by the amount specified by a line feed command (ESC 0, ESC 2, ESC 3, ESC A).
The print position becomes the beginning of the next line.
The default value is a line feed of 48 dots.
A carriage return immediately after a line feed is ignored.
Both Auto-canceling double-width characters specified in ANK mode with SO or ESC SO and Chinese
character mode with FS SO are canceled.
Same process as CR
FF Page feed
ASCII: FF
Decimal: 12
Hexadecimal: 0C
Parameters
None
Description
Starts the printing.
The previously entered data string of characters and commands is cleared after being printed.
Both Auto-canceling double-width characters specified in ANK mode with SO or ESC SO and Chinese
character mode with FS SO are canceled.
- 50 -
5. Control Command Details
ESC/P Command Reference
Abcdefg
ABC
SDFASG
Left alignment
Abcdefg
ABC
SDFASG
Center alignment
Abcdefg
ABC
SDFASG
Right alignment
Example: Performing a forward paper feed after the second line
ESC J Forward paper feed
ASCII: ESC J n
Decimal: 27 74 n
Hexadecimal: 1B 4A n
Parameters
0≤n≤255
Description
Ends input for the current line and moves the vertical print position forward by n/300 inch (=1 dot).
If the bottom margin setting is exceeded, printing starts.
With left alignment, the print position for the next line becomes the end position of the current line.
(The horizontal position does not move to the left margin.)
With right alignment and center alignment, the horizontal position moves to the beginning of the line.
Both Auto-canceling double-width characters specified in ANK mode with SO or ESC SO and Chinese
Description
The vertical tab position is the line feed amount (when this command was specified)*n from the top
margin.
Enter n values in ascending order and end the settings with NUL.
If an n value is smaller than a previous one, tab setting is ended.
Up to 16 vertical tabs can be specified.
ESC B NUL cancels all vertical tab positions.
Use VT to move to the vertical tab position.
When changing vertical tab positions, specify all positions again.
If the top margin is moved, the vertical tab positions are also moved by the same amount.
Even if the line feed amount is changed after the vertical tab positions have been specified, the vertical tab
position settings do not change.
Performing a VT when no vertical tabs have been specified is equal to performing a CR.
- 52 -
5. Control Command Details
ESC/P Command Reference
1
2
3
4
5
6 7 8
9
10
11
12
13
14
15
16
VT code
Tab position
Tab position
Tab position
17
18
ABCD
EfghijkL
Abcdefg
ABCDEFG
aiueo
VT code
VT code
Line feed
amount
Example: Vertical tabs are specified at Lines 6, 11, and 15, and
data is entered while VT are performed.
VT Perform vertical tab
ASCII: VT
Decimal: 11
Hexadecimal: 0B
Parameters
None
Description
Moves the print position to the nearest vertical tab position down from the input position.
The next horizontal print position becomes the beginning of the line.
If the next vertical tab position extends beyond the bottom margin, characters are placed at TOF position
fo the next page.
When all vertical tab positions have been canceled by an initialization or with ESC B NUL, performing VT
is equal to performing CR.
Both Auto-canceling double-width characters specified in ANK mode with SO or ESC SO and Chinese
character mode with FS SO are canceled.
- 53 -
5. Control Command Details
ESC/P Command Reference
ESC (V Specify absolute vertical position
ASCII: ESC ( V nL nH mL mH
Decimal: 27 40 86 nL nH mL mH
Hexadecimal: 1B 28 56 nL nH mL mH
Parameters
nL=2
nH=0
0≤mL≤255
0≤mH≤127
Description
Specifies the vertical print position as an absolute position from the top margin position.
Vertical position=mL+mH*256+top margin
The absolute vertical position is measured from the top margin position when this command was specified.
If a position extending beyond the bottom margin is specified, printing starts.
There is no restriction on the amount of movement back (upward) from the current position.
With left alignment, the print position for the next line becomes the end position of the current line.
(The horizontal position does not move to the left margin.)
With right alignment and center alignment, the horizontal position moves to the beginning of the line.
Both Auto-canceling double-width characters specified in ANK mode with SO or ESC SO and Chinese
character mode with FS SO are canceled.
- 54 -
5. Control Command Details
Abcdefg
ABC
SDFASG
Abcdefg
ABC
SDFASG
Abcdefg
ABC
SDFASG
Example:
Moving to a vertical position specified after the second line
Left alignment
Center alignment
Right alignment
ESC (v Specify relative vertical position
ASCII: ESC ( v nL nH mL mH
Decimal: 27 40 118 nL nH mL mH
Hexadecimal: 1B 28 76 nL nH mL mH
Parameters
nL=2
nH=0
0≤mL≤255
0≤mH≤127
-16384≤(mL+mH*256)≤16383
Description
Specifies the vertical print position* as a relative position from the current position.
ESC/P Command Reference
Vertical position after movement=mL+mH*256+current position
When moving upwards, the specified value is expressed as a two's complement.
It is determined by the following equation.
mL+mH*256=65536–distance actually moved
Settings moving the print position above the top margin are ignored.
If a position extending beyond the bottom margin is specified, printing starts.
With left alignment, the print position for the next line becomes the end position of the current line.
(The horizontal position does not move to the left margin.)
With right alignment and center alignment, the horizontal position moves to the beginning of the line.
Both Auto-canceling double-width characters specified in ANK mode with SO or ESC SO and Chinese
character mode with FS SO are canceled.
* Print position : The print position is the standard position for printing characters, bitmaps, and barcodes.
nL=4, nH=0
(tL+tH*256)<(BL+BH*256)
Top margin<bottom margin
Description
Specifies settings for the top and bottom margins.
The physically printable area depends on the media.
ESC/P Command Reference
The top margin and the bottom margin are specified in units of 1/300 inch (=1 dot) using the top edge of
the physically printable area as the reference.
(The left margin and the right margin use the left edge of the physically printable area as the reference.)
Top margin=tL+tH*256
Bottom margin= BL+BH*256
The top margin position is the TOF in the vertical direction.
All previously entered text is cleared.
The character baseline for the first line of text is 24/300 inch (=24 dots) below the top margin.
When this command is used previously specified top and bottom margins are canceled.
A standard unit is not used.
If the print media is continuous length tape, the printing orientation is landscape and the page length is not
specified, commands specifying the page format are ignored.
If the minimum margin has been set to 3 mm and the printing orientation is landscape, both the top and
bottom margins increase by 1 mm.
- 56 -
5. Control Command Details
inch
mm
Number of dots
0
0.0
0
1
25.4
300
2
50.8
600
3
76.2
900
4
101.6
1200
5
127.0
1500
6
152.4
1800
7
177.8
2100
8
203.2
2400
9
228.6
2700
10
254.0
3000
11
279.4
3300
12
304.8
3600
13
330.2
3900
14
355.6
4200
15
381.0
4500
16
406.4
4800
17
431.8
5100
18
457.2
5400
19
482.6
5700
20
508.0
6000
ESC (C Specify page length
ASCII: ESC ( C nL nH mL mH
Decimal: 27 40 67 nL nH mL mH
Hexadecimal: 1B 28 43 nL nH mL mH
Parameters
nL=2, nH=0
0<(mL+mH*256)<12000
Description
Specifies the page length.
The unit is 1/300 inch (=1 dot).
Page length=mL+mH*256
The current paper position is the TOF.
ESC/P Command Reference
The top and bottom margins 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.
Inch, mm, and dot conversion table
- 57 -
5. Control Command Details
ESC U Specify minimum margin
ASCII: ESC U n
Decimal: 27 85 n
Hexadecimal: 1B 55 n
Parameters
2≤n≤3 or “2”≤n≤“3”
Description
Specifies the minimum margin amount.
n=2 or 50 (“2”): Specifies a minimum margin of 2 mm.
n=3 or 51 (“3”): Specifies a minimum margin of 3 mm.
Using this command clears all text.
ESC/P Command Reference
- 58 -
5. Control Command Details
Item
Default
Input buffer
Saved
Text buffer
Cleared
Print buffer
Cleared
Top margin
0 dot
Bottom margin
Depends on media
Left margin
0 dot
Right margin
Depends on media
Line feed amount
48 dots*
Horizontal tab every 8 characters (based on a
character width of 10 cpi)*
Vertical tab positions
None
Size of ANK characters
32 dots
Space between ANK characters
0 dot
Size of Chinese characters
32 dots
Left margin for full size characters
0 dot
Right margin for full size characters
0 dot
Left margin for half size characters
0 dot
Right margin for half size characters
0 dot
Proportional pitch
Canceled*
International character set
USA*
Style of ANK characters
Canceled
Compressed
Canceled
ANK mode/Chinese character mode
ANK mode
Vertical writing/Horizontal writing
Horizontal writing
Full size/Half size/quarter square characters
Full size
Adjustment for half size space
Canceled
Styale of Chinese characters
Canceled
Horizontal print position
Left margin position
Vertical print position
Top margin position (TOF position)
Landscape setting
Canceled*
Page length setting
Canceled*
Cut setting
Auto cut (manufacturer’s default)
Minimum margin amount
3 mm*
5.7 Printer control commands
ESC @ Initialize
ASCII: ESC @
Decimal: 27 64
Hexadecimal: 1B 40
Parameters
None
Description
Returns all commands to their default settings. (See below.)
ESC/P Command Reference
Horizontal tab positions
* May differ depending on the user settings.
- 59 -
5. Control Command Details
n1:
The remainder from dividing the number of dot positions by 256
n2:
The quotient from dividing the number of dot positions by 256
Horizontal Dot
Density
Vertical Dot
Density
Horizontal Dot
Resolution
Vertical Dot
Resolution
0
60 dpi
60 dpi
6/300 inch
6/300 inch
1
120 dpi
60 dpi
3/300 inch
6/300 inch
2
120 dpi
60 dpi
3/300 inch
6/300 inch
3
240 dpi
60 dpi
2/300 inch
6/300 inch
4
80 dpi
60 dpi
4/300 inch
6/300 inch
6
90 dpi
60 dpi
4/300 inch
6/300 inch
32
60 dpi
180 dpi
6/300 inch
2/300 inch
33
120 dpi
180 dpi
3/300 inch
2/300 inch
38
90 dpi
180 dpi
4/300 inch
2/300 inch
39
180 dpi
180 dpi
2/300 inch
2/300 inch
40
300 dpi
180 dpi
1/300 inch
2/300 inch
71
180 dpi
360 dpi
2/300 inch
1/300 inch
72
360 dpi
360 dpi
1/300 inch
1/300 inch
73
360 dpi
360 dpi
1/300 inch
1/300 inch
5.8 Graphics commands
ESC * Select bit image
ASCII: ESC * m n1 n2 Data
Decimal: 27 42 m n1 n2 Data
Hexadecimal: 1B 2A m n1 n2 Data
Parameters
m=0, 1, 2, 3, 4, 6, 32, 33, 38, 39, 40, 71, 72, 73
0≤n1≤255, 0≤n2≤11
The image data is as follows:
- n1+n2*256 bytes when m=0, 1, 2, 3, 4, 6
- (n1+n2*256)*3 bytes when m=32, 33, 38, 39, 40
- (n1+n2*256)*6 bytes when m=71, 72, 73
ESC/P Command Reference
Description
Selects and outputs a bit image according to the value of m.
n1 and n2 indicate the number of dot positions.
m
Horizontally neighboring dots are not omitted.
Limitations:
A maximum of 63 can be used with this command.
- 60 -
5. Control Command Details
n1:
The remainder from dividing the number of dot positions by 256
n2:
The quotient from dividing the number of dot positions by 256
B7
B6
B5
B4
B3
B2
B1
B0
1byte
1byte
1byte
1byte … 1byte
1byte
n1+n2*256 byte
s
MSB
LSB
m=0
m =1
m =2
m =3
m =4
m =6
When m=0, 1, 2, 3, 4, 6
n1 and n2 indicate the number of dot positions.
Relationship between the image data and the dots
First, the data is lined up in one row as follows:
ESC/P Command Reference
One dot of the image data is enlarged as follows, according to the value of m.
As a result, the image is sized depending on the value of m, as follows:
The remainder from dividing the number of dot positions by 256
n2:
The quotient from dividing the number of dot positions by 256
B7
B6
B5
B4
B3
B2
B1
B0
1byte
1byte
1byte
1byte
1byte
1byte
…
n1+n2*256 bytes
MSB
LSB
ESC K 8-dot single-density bit image
ASCII: ESC K n1 n2 Data
Decimal: 27 75 n1 n2 Data
Hexadecimal: 1B 4B n1 n2 Data
Parameters
0≤n1≤255,0≤n2≤3
The data contains n1+n2*256 bytes of image data.
Description
Specifies that an 8-dot single-density bit image is printed with the number of dot positions indicated by n1 and
n2.
n1 and n2 indicate the number of dot positions.
Relationship between the image data and the dots
First, the data is lined up in one row as follows:
One dot of image data is enlarged to 6 dots vertically by 6 dots horizontally.
As a result, the image is 48 dots vertically by (n1+n2*256)*6 dots horizontally.
- 66 -
5. Control Command Details
ESC/P Command Reference
1byte
1byte
1byte
1byte
…
1byte
1byte
n1+n2*256 bytes
MSB
LSB
ESC L 8-dot double-density bit image
ASCII: ESC L n1 n2 Data
Decimal: 27 76 n1 n2 Data
Hexadecimal: 1B 4C n1 n2 Data
Parameters
0≤n1≤255, 0≤n2≤3
The data contains n1+n2*256 bytes of image data.
Description
Specifies that an 8-dot double-density bit image is printed with the number of dot positions indicated by n1
and n2.
n1 and n2 are specified in the same way as with ESC K.
First, the data is lined up in one row as follows:
One dot of image data is enlarged to 6 dots vertically by 3 dots horizontally.
As a result, the image is 48 dots vertically by (n1+n2 *256)*3 dots horizontally.
- 67 -
5. Control Command Details
ESC/P Command Reference
1byte
1byte
1byte
1byte … 1byte
1byte
n1+n2*256 bytes
MSB
LSB
ESC Y 8-dot double-speed double-density bit image
ASCII: ESC Y n1 n2 Data
Decimal: 27 89 n1 n2 Data
Hexadecimal: 1B 59 n1 n2 Data
Parameters
0≤n1≤255, 0≤n2≤3
The data contains n1+n2*256 bytes of image data.
Description
Same as for an 8-dot double-density bit image. Horizontally neighboring dots are not omitted.
ESC Z 8-dot quadruple-density bit image
ASCII: ESC Z n1 n2 Data
Decimal: 27 90 n1 n2 Data
Hexadecimal: 1B 5A n1 n2 Data
Parameters
0≤n1≤255, 0≤n2≤7
The data contains n1+n2*256 bytes of image data.
Description
Specifies that an 8-dot quadruple-density bit image is printed with the number of dot positions indicated by n1
and n2.
n1 and n2 are specified in the same way as with ESC K.
Horizontally neighboring dots are not omitted.
First, the data is lined up in one row as follows:
One dot of image data is enlarged to 6 dots vertically by 2 dots horizontally.
As a result, the image is 48 dots vertically by (n1+n2*256)*2 dots horizontally.
- 68 -
5. Control Command Details
ESC/P Command Reference
5.9 Chinese character commands
FS & Specify Chinese character mode
ASCII: FS &
Decimal: 28 38
Hexadecimal: 1C 26
Parameters
None
Description
Specifies the Chinese character mode.
Chinese characters are expressed in 2 or 4 bytes. Enter from upper byte to lower byte sequentially.
Chinese character code is based on GB18030-2000.
FS . Cancel Chinese character mode
ASCII: FS .
Decimal: 28 46
Hexadecimal: 1C 2E
Parameters
None
Description
Cancel Chinese character mode.
- 69 -
5. Control Command Details
FS J Specify vertical writing
ASCII: FS J
Decimal: 28 74
Hexadecimal: 1C 4A
Parameters
None
Description
All the Chinese characters written after this command are written in vertical writing.
FS K Specify horizontal writing
ASCII: FS K
ESC/P Command Reference
Decimal: 28 75
Hexadecimal: 1C 4B
Parameters
None
Description
All the Chinese characters written after this commnad are written in horizontal writing.
Default setting is horizontal writing.
- 70 -
5. Control Command Details
ESC/P Command Reference
FS S Specify size of space for full size characters
Specify size of space for both left and right of full size characters.
Space size for left is specified by "n1" and right is specified by "n2"in dot for each characters.
1dot = 1/300 inch
The default space size for both left and right are 0.
When it comes to double size characters, the size of space also becomes double.
FS T Specify size of space for half size characters
Specify size of space for both left and right of half size characters.
Space size for left is specified by "n1" and right is specified by "n2"in dot for each characters.
1dot = 1/300 inch
The default space size for both left and right are 0.
Size set with this command is applied only for horizontal writing. When it comes to vertical writing, size set
for full size characters is applied.
- 71 -
5. Control Command Details
ESC/P Command Reference
FS U Space adjustment between half size characters
ASCII: FS U
Decimal: 28 85
Hexadecimal: 1C 55
Parameters
None
Description
Add 1dot as adjustment to the right side of space for each half size characters.
1dot = 1/300 inch
Adjustment of size of space between half size characters is canceled by default setting.
FS V Cancel space adjustment between half size characters
ASCII: FS V
Decimal: 28 86
Hexadecimal: 1C 56
Parameters
None
Description
Cancel an adjustment of size of space between half size characters.
This command is valid in default setting.
- 72 -
5. Control Command Details
ESC/P Command Reference
n=1 or 49 (“1”): Specify double height and width characters.
n=0 or 48 (“0”): Cancel double height and width characters.
FS W Select double height and width characters
ASCII: FS W n
Decimal: 28 87 n
Hexadecimal: 1C 57 n
Parameters
n=0, 1 or 48 (“0”), 49 (“1”)
Description
Specify/Cancel double height and width characters.
This command is valid for all the Chinese characters.
Double height and width character has double size of height and double seize of width compared to full
size character.
Feed length is 24/300 inch longert than that of using full size characters.
When canceling double height and width characters, specification for both quarter square characters and
half size characters are aleso canceled.
- 73 -
5. Control Command Details
Character width:
The value of mL and mH is irrelevant.
<Outline fonts>
nH=1
Character size(horizontal):
The value of pL and pH is irrelevant.
FS Y Specify Chinese character size
ASCII: FS Y mL mH nL nH pL pH
Decimal: 28 89 mL mH nL nH pL pH
Hexadecimal: 1C 59 mL mH nL nH pL pH
<Bitmap fonts>
Valid only with:
nL=24, 32, 48 dots
nH=0
The height and width are in the ratio of 1:1. A character size is specified by its height.
Description
This command is used only to change the Chinese character size.
The character size of Chinese character is specified as n=nL+nH*256 dots.
The width and the height are the same.
With bitmap fonts, only n=16, 24, and 32 are valid.
With outline fonts, n is valid only when it is one of the following values:
The commands for specifing double width caracters, double height and width characters,half size
characters, quarter square characters, space size of full size characters, space size of half size
characters (SO、ESC W、ESC !、FS !、FS W、FS SI、FS r、FS S、FS T、FS U) remain available.
- 74 -
5. Control Command Details
ESC/P Command Reference
n=1 or 49 (“1”): Place a superscript.
n=0 or 48 (“0”): Place a subscript.
FS r Specify quarter square characters
ASCII: FS r n
Decimal: 28 86 n
Hexadecimal: 1C 56 n
Parameters
n=0, 1 or 48 (“0”), 49 (“1”)
Description
Specify quarter square characters.
All the characters in the Chinese character code matrix are printed as a quarter square character.
"n" specifies the position of a quarter square character.
This command is canceled by either FS S or FS DC2 command.
Space between quarter square characters is same as the one between half size characters.
FT T, FS U or FS V are the command to adjust a size of space for quarter square characters.
- 75 -
5. Control Command Details
n=4 or 52 (“4”): Applies underlining with a width of 4 dots.
n=3 or 51 (“3”): Applies underlining with a width of 3 dots.
n=2 or 50 (“2”): Applies underlining with a width of 2 dots.
n=1 or 49 (“1”): Applies underlining with a width of 1 dot.
n=0 or 48 (“0”): Cancels underlining.
Underline
Underline Position
When horizontal writing: 2/300 inch (second dot) below the characters
When vertical writing: 2/300 inch (second dot) above the characters
When horizontal writing: 2/300 inch (second dot) below the characters Between
2/300 inch (second dot) and 3/300 inch (third dot) above the characters
When horizontal writing: Between 1/300 inch (first dot) and 3/300 inch (third
above the characters
When horizontal writing: Between 1/300 inch (first dot) and 4/300 inch (fourth
above the characters
FS - Apply Chinese character underlining
ASCII: FS - n
Decimal: 28 45 n
Hexadecimal: 1C 2D n
This command is valid anywhere in a text line.
The underlining specified by this code is a continuous line.
Spaces between characters and words are also underlined.
Areas with the “specify absolute horizontal position” (ESC $) and “specify relative horizontal position”
(ESC \) commands are not Chinese character underlined.
Bit images and barcodes are not underlined either.
4/300 inch (4 dots) is added to the line feed amount for lines that include underlined characters.
The underline is positioned as follows:
1 dot wide
2 dots wide
3 dots wide
2/300 inch (second dot) and 3/300 inch (third dot) below the characters
When vertical writing: 2/300 inch (second dot) above the characters Between
dot) below the characters
When vertical writing: Between 1/300 inch (first dot) and 3/300 inch (third dot)
4 dots wide
dot) below the characters
When vertical writing: Between 1/300 inch (first dot) and 4/300 inch (fourth dot)
- 76 -
5. Control Command Details
Bit 7 6 5 4 3 2 1 0
square
square
FS ! Global Formatting for Chinese character
ASCII: FS ! n
Decimal: 28 33 n
Hexadecimal: 1C 21 n
Parameters
0≤n≤255
Description
Specify Global Format for Chinese character.
ESC/P Command Reference
1 Underline Italics
0 Cancel Cancel
Subscript
quarter
Superscript
quarter
Quarter
square
Cancel Cancel Cancel Cancel
Double
height
Double width Half width
Vertical
writing
Horizontal
writing
Bit 1 is ignored when both bit 4 and bit 1 are 1.
Bit 6 is ignored when both bit 0 and bit 6 are 1.
Character data is handled sequentially from selecting character(including superscript and subscript),
vertical or horizonatl writing to magnification.
The bit priority is below.
Bit 4 > Bit 3 > Bit1
Bit 4 > Bit 2 > Bit 1
When Bit2 and Bit 3 become 1, the character becomes double height and width same as specifing with FS
W command.
Bit 5 is available only when bit 4 is 1.
FS SI Specify half-width characters
ASCII: FS SI
Decimal: 28 15
Hexadecimal: 1C 0F
Parameters
None
Description
All the Chinese characters written after this command are printed as half size.
Full size characters are printed as half size.
- 77 -
5. Control Command Details
FS DC2 Cancel half-width characters
ASCII: FS DC2
Decimal: 28 18
Hexadecimal: 1C 12
Parameters
None
Description
Cancel half size specification by FS SI.
Quarter square character specification by FS r is also canceled with this command.
FS SO Specify auto-canceling double-width character
ESC/P Command Reference
ASCII: FS SO
Decimal: 28 14
Hexadecimal: 1C 0E
Parameters
None
Description
All the characters written after this command are printed as double size characters. A double size
character is as twice wider as a full size character.
Available for both ANK and Chinese characters.
Canceled by ESC $ or ESC \.
FS DC4 Cancel auto-canceling double-width character
ASCII: FS DC4
Decimal: 28 20
Hexadecimal: 1C 14
Parameters
None
Description
Cancel double character specified ESC SO, SO, FE SO command.
Available for both ANK and Chinese characters.
- 78 -
5. Control Command Details
T or t (type)
t0: CODE39
tg: MSI
s (style)
Ignored
p (number of passes)
Ignored
R or r
(characters below barcode)
r0: OFF
r1: ON
u (units of measurement)
Ignored
x (horizontal position)
Ignored
y (vertical offset)
Ignored
5.10 Advanced commands
ESC i B Barcode
ASCII: ESC i [Parameters] B or b [Barcode data] Backslash
Decimal: 27 105 [Parameters] 66 or 98 [Barcode data] 92
Hexadecimal: 1B 69 [Parameters] 42 or 62 [Barcode data] 5C
Format: ESC i [Parameters] B or b [Barcode data] [Backslash]
(1) (2) (3) (4)
1–64 characters (The full set of ASCII characters can be used.)
te:
5 characters, 9 characters, 11 characters
tf:
2 characters, 5 characters
Note
* For parameter numerals 0–9, both 00h–09h and 30h–39h are recognized.
* For parameter hexadecimals a–f, both 0ah–0fh and 61h–66h are recognized.
* The parameter types a, b, c, d, e and f are recognized even when uppercase.
* The parameter “parentheses deletion” is available only when GS1-128 (UCC/EAN-128) is selected.
* The parameter “ratio between thick and thin bars” is available only when t0, t1 or t9 is selected.
* The parameter “equalize bar lengths” is available only when t5 or t6 is selected.
* If any other type is selected, these parameters are ignored.
* When there is no type command or an invalid type command has been specified, CODE39 is
specified.
* The number of characters that can be entered for each barcode type is as follows:
12 characters (for EAN-13)
Lowercase letters “a”, “b”, “c” or “d” can be entered at the beginning or end, but the text that
1–64 numbers or 1–40 letters*1 (for RSS Expanded)
1
ISO646 characters can be printed.
*
(2) B or b: Beginning of barcode data
(3) [Barcode data]: Barcode data
? (Generate check digit):
Generates a check digit when “?” is in the barcode data.
The position of “?” is irrelevant as long as it is within the barcode data.
With POSTNET, CODE93, UPC/EAN EXTENSION, CODE128 and GS1-128(UCC/EAN-128), no
check digit is generated.
If “?” is inserted, it is treated as barcode data.
With only UPC/EAN EXTENSION, the data is printed above the barcode.
- 81 -
5. Control Command Details
Barcode Type
Command
POSTNET, UPC/EAN EXTENTION, CODE39,
CODABAR, RSS symbols
CODE93, CODE128,
GS1-128 (UCC/EAN-128)
(4) [Backslash]: End of barcode
ESC/P Command Reference
ITF(I-2/5), EAN-8, EAN-13, UPC-A, UPC-E,
ESC i [Parameter] B or b [Barcode data] \
ESC i [Parameter] B or b [Barcode data] \\\
Description
Specifies a barcode image.
Any data extending beyond the right margin is ignored.
Since the check digit is generated automatically from the barcode data, the check digit is not sent as
barcode data. Since the length of the barcode data is also checked, the data would not be correctly
recognized if the check digit data was present.
With CODE39, ITF (I-2/5), CODABAR, CODE128, GS1-128 (UCC/EAN-128) or RSS Expanded, the buffer
length for the barcode image is about 22 cm. A barcode longer than 22 cm will not be printed.
The characters that can be printed with CODE128 and GS1-128 (UCC/EAN-128) are the 128 ASCII
characters and the special codes FNC1, FNC2, FNC3 and FNC4.
Codes assigned to the special codes:
FNC1: 86h, FNC2: 81h, FNC3: 80h, FNC4: 84h
The control codes and special codes appear as spaces when characters are printed below CODE128 and
GS1-128 (UCC/EAN-128) barcodes.
The control codes appear as spaces when characters are printed below CODE93 barcodes.
Special code FNC1 can also be printed with RSS Expanded.
This special code also appears as a space when characters are printed below the barcode.
Code assigned to the special code:
FNC1: 86h
The width can be set to extra extra small only with CODE128 and EAN128.
Characters are not printed below the barcode when the width is set to extra extra small.
Example
For barcode type CODE39, with no characters printed below the barcode, a size of large (width) × 480 dots
(height) and a ratio between thick and thin bars of 3:1, the command will be as shown below.
ESC i t0 r0 he0h 01h w3 z0 B 123456789 \
- 82 -
5. Control Command Details
ESC/P Command Reference
1. Cell size
[1-byte decimal] 10
Specifies the dot size per cell side.
Prints 10 dots per cell side.
2. Symbol
[1-byte decimal] 1
[1-byte decimal] 3
Model 1
Micro QR
3. Structured
setting
[1-byte decimal] 0
Not partitioned. (default value)
4. Code
[1-byte decimal] 1–16
Indicates the number of the symbol in a partitioned QR
5. Number of
[1-byte decimal] 2–16
Indicates the total number of symbols in a partitioned QR
6. Parity data
[1-byte hexadecimal]
Value (in bytes) of exclusively OR’ing all the print data
7. Error
[1-byte decimal] 1
[1-byte decimal] 4
High-density level: L 7%
Ultra-high-reliability level: H 30% (*2)
8. Data input
[1-byte decimal] 0
Auto input (default value)
entered.
ESC i Q 2D barcode (QR Code)
ASCII: ESC i Q or q Data
Decimal: 27 105 81 or 113 Data
Hexadecimal: 1B 69 51 or 71 Data
Format: ESC i Q or q [Parameters] [Barcode data] \\\
(1) (2) (3)
Parameters
(1) [Parameters]
Unlike with 1D barcodes, all parameters must be specified in order, starting from the top.
If a value other than those listed is entered for a parameter, that parameter is specified with its default
value.
Prints 4 dots per cell side.
Prints 5 dots per cell side.
Prints 6 dots per cell side.
Prints 8 dots per cell side.
Model 2 (default value)
Partitioned (*1)
Code.
Code.
(print data before partition)
correction
level
method
[1-byte decimal] 2
[1-byte decimal] 3
[1-byte decimal] 1
Standard level: M 15% (default value)
High-reliability level: Q 25%
Manual input
Selects whether numbers, English alphanumeric
characters, Chinese characters or binary characters are
- 83 -
5. Control Command Details
ESC i Q or q [1st parameter] [1st set of barcode data] \\\
ESC i Q or q [3rd parameter] [3rd set of barcode data] \\\
3. Structured append
This determines whether or not the barcode data is partitioned. If the data is
value for these parameters.
4. Code number:
This indicates which number the ESC/P command for that QR Code is.
this is 4.
5. Number of partitions:
This is the number of partitions.
6. Parity data:
This is the value (in bytes) of exclusively OR’ing all the print data (print data
ESC/P command indicates that these codes are linked.
Character
OR’ed (XOR’ed) in bytes
Results
XOR of 31h and 32h
0011 0001 ^= 0011 0010
0000 0011 (03h)
XOR of 03h and 33h
0000 0011 ^= 0011 0011
0011 0000 (30h)
0000 0100 (04h)
Therefore, the parity is 04h.
(*1) With Micro QR, the Structured Append setting is invalid, and the default setting is used.
(*2) With Micro QR, error correction level 4 is invalid, and the default setting is used.
What is the QR Code Structured Append setting?
QR Codes have Structured Append settings.
A long character string can be partitioned into 2 to 16 partitions and printed.
With ESC/P commands, it is necessary to enter only the number of partitions.
For example, if the print data is partitioned into 3 partitions, the barcode data is as follows:
ESC i Q or q [2nd parameter] [2nd set of barcode data] \\\
Refer to the following for specifying settings for 3 through 6 in [Parameters].
ESC/P Command Reference
setting:
not partitioned, enter 0.
When not partitioning, the values of 4 (code number), 5 (number of
partitions), and 6 (parity data) are ignored; therefore, enter 0 as a dummy
For example, if it is for the second of four partitions, this is 2; for the fourth
before partition). Entering the same value as for the partitioned QR Code
What is exclusive OR’ing in bytes?
The data is exclusively OR’ed (XOR’ed) in bytes and in order.
For example, putting a character string into hexadecimal gives 31h, 32h, 33h, 34h.
XOR of 30h and 34h 0011 0000 ^= 0011 0100
Note
If this parity value is incorrect, the correct QR Code is not generated.
When manual input is selected in 8 (data input method), the barcode data must be preceded with one of
the following single-byte alphanumeric characters.
Example
A or a ESC i Q [other parameters] 01h A012345678aBcDe \\\
K or k
Binary character
input
B or b+4-digit
number
With the “4-digit number”, specify the number of binary
characters to actually be entered. For example, if 12 binary
characters are to be entered, specify:
The number of barcode data characters that can be entered depends on the model type and the input
method.
Note
The numbers listed above are for an error correction level at a high-density level (L 7%).
If the standard level or higher is set, the number of characters that can be entered may decrease. In
addition, even if the characters are entered with the high-density level (L) specified, the number of
characters that can be entered may decrease due to compression.
- 85 -
5. Control Command Details
(3) \\\: End of barcode
There must be three backslashes to end 2D barcode.
Example
Refer to the section “Summary”.
ESC i P Specify QR Code version
ASCII: ESC i P n
Decimal: 27 105 80 n
Hexadecimal: 1B 69 50 n
Parameters
0≤n≤40
ESC/P Command Reference
Description
The barcode size can be fixed.
The default value is 0.
The available versions differ depending on the symbol type used.
If a setting other than those listed is specified, the setting returns to its default.
The following settings are available for each symbol type.
Model1 (0–14), Model2 (0–40), MicroQR (0–4)
- 86 -
5. Control Command Details
ESC/P Command Reference
1. Cell size
[1-byte decimal] 10
Specifies the dot size per cell side.
Prints 10 dots per cell side.
2. Symbol type
[1-byte decimal] 0
[1-byte decimal] 3
Standard (default value)
MicroPDF417 Code128 emulation
3. Data input
[1-byte decimal] 0
Auto input (default value)
4. Error
capacity-type
[1-byte decimal] 0
Level input setting (default value)
5. Error correction capacity-value
- Level input
[2-byte decimal] 0–8
Specifies the level.
(The default value is 0.)
- Percentage
input
[2-byte decimal] 0–400
Specifies the percentage.
(The default value is 10.)
6. Symbol size
[1-byte decimal] 0
*0 and 1–4 with MicroPDF417
Auto setting (default value)
7. Symbol size
[1-byte decimal] 0
*0 and 4–44 with MicroPDF417
Auto setting (default value)
ESC i V 2D barcode (PDF417)
ASCII: ESC i V or v Data
Decimal: 27 105 86 or 118 Data
Hexadecimal: 1B 69 56 or 76 Data
Format: ESC i V or v [Parameters] [Barcode data] \\\
(1) (2) (3)
Parameters
(1) [Parameters]
Unlike with 1D barcodes, all parameters must be specified in order, starting from the top.
If a value other than those listed is entered for a parameter, that parameter is specified with its default
value.
Prints 4 dots per cell side.
Prints 5 dots per cell side.
Prints 6 dots per cell side.
Prints 8 dots per cell side.
Truncate
MicroPDF417 standard
Binary input
Percentage input setting
(X direction)
(Y direction)
[1-byte decimal] 1–30
[1-byte decimal] 3–90
Manual settings
Manual settings
- 87 -
5. Control Command Details
ESC/P Command Reference
8. Aspect
[2-byte decimal] 1–1000
Specifies the aspect value.
The default value is 50. (The actual value is 0.5.)
Symbol Size
(X Direction)
Symbol Size
(Y Direction)
Auto
Auto
1 Auto
11
14
17
20
24
28
2 Auto
8
11
14
17
20
23
26 3 Auto
6 8 10
12
15
20
26
32
38
44
4 Auto
4 6 8
10
12
15
20
26
32
38
44
value
Actually, this is 0.01–10.0, but since the decimal
point cannot be entered, a value multiplied by 100 is
entered.
Note
* If a setting for the symbol size (X direction) or symbol size (Y direction) has been specified
manually, the aspect value setting is ignored.
* If a setting for the symbol size (X direction) or the symbol size (Y direction) has been entered
manually, the bar code may not be printed or an unreadable bar code may be printed.
* If both a large cell size and a high level error correction capacity have been specified, printing
may not be possible due to a full print buffer.
[With symbol type MicroPDF417]
* Since the error correction capacity is automatically determined from the symbol size (X direction)
setting, the settings for “error correction capacity and type” and “error correction capacity-value” are
ignored.
* The aspect value setting is ignored.
* The following table shows the values available for the symbol size (Y direction) according to the
symbol size (X direction) setting. If an invalid setting is specified for the symbol size (Y direction), the
default setting is specified.
(2) Barcode data
The numbers of barcode data characters that can be entered are as follows.
1850 alphanumeric characters, 2710 numbers, 1108 binary bytes
Chinese characters are babel to be used but handled as binary. 1 Chinese character is handled as 2
Bytes data.
Note
The numbers listed above are for an error correction level at the lowest level. If the standard level
or higher is set, the number of characters that can be entered may decrease. In addition, even if
the characters are entered with the lowest level specified, the number of characters that can be
entered may decrease due to compression.
- 88 -
5. Control Command Details
ESC/P Command Reference
Maximum Amount of Information Allowed
Alphanumeric
Characters
Numbers
Binary
1
11 6 8
3
1
14
12
17
7
1
17
18
26
10
1
20
22
32
13
1
24
30
44
18
1
28
38
55
22
2 8 14
20
8
2
11
24
35
14
2
14
36
52
21
2
17
46
67
27
2
20
56
82
33
2
23
64
93
38
2
26
72
105
43
3 6 10
14
6
3 8 18
26
10
3
10
26
38
15
3
12
34
49
20
3
15
46
67
27
3
20
66
96
39
3
26
90
132
54
3
32
114
167
68
3
38
138
202
82
3
44
162
237
97
4 4 14
20
8
4 6 22
32
13
4 8 34
49
20
4
10
46
67
27
4
12
58
85
34
4
15
76
111
45
4
20
106
155
63
4
26
142
208
85
4
32
178
261
106
4
38
214
313
128
4
44
250
366
150
[With symbol type MicroPDF417]
Maximum of 250 alphanumeric characters, maximum of 366 numbers, maximum of 150 bytes of binary
data
However, the following table shows the maximum amount of information allowed according to the
settings for symbol size (X direction) and symbol size (Y direction).
X Y
(3) \\\: End of barcode
There must be three backslashes to end 2D barcodes.
- 89 -
5. Control Command Details
ESC/P Command Reference
1. Cell size
[1-byte decimal] 10
Specifies the dot size per cell side.
Prints 10 dots per cell side.
2. Symbol
type
[1-byte decimal] 0
[1-byte decimal] 1
ECC200 square (default value)
ECC200 rectangular
3. Vertical
(continued to the next page)
[ECC200 square]
ESC i D 2D barcode (DataMatrix)
ASCII: ESC i D or d data
Decimal: 27 105 68 or 100 data
Hexadecimal: 1B 69 44 or 64 data
Format: ESC i D or d [Parameters] [Barcode data] \\\
(1) (2) (3)
Parameters
(1) [Parameters]
Unlike with 1D barcodes, all parameters must be specified in order, starting from the top.
If a value other than those listed is entered for a parameter, that parameter is specified with its default
value.
Vertical no. of cells: 8 cells
Vertical no. of cells: 12 cells
size
[1-byte decimal] 18
[1-byte decimal] 26
[1-byte decimal] 36
(1) When the vertical size is AUTO
Horizontal no. of cells: 18 cells
Horizontal no. of cells: 26 cells
Horizontal no. of cells: 36 cells
Note
* If the vertical size is specified as a value other than those listed for ECC200 square, the AUTO
setting is selected. If the horizontal size is specified as a value different from the vertical size, the
setting is changed to the same value as the horizontal size.
* If the vertical or horizontal size for ECC200 rectangular is specified as a value other than those
listed, the AUTO setting is selected.
(2) [Barcode data]: Barcode data
The maximum number of barcode data characters that can be entered is listed below.
2335 alphanumeric characters, 3116 numbers, 1556 bytes of binary data
Note
The numbers of characters that can be entered (as listed above) are for the maximum vertical ×
horizontal cell settings (144 cells × 144 cells). The number of characters that can be entered may
decrease, depending on the specified settings.
- 91 -
5. Control Command Details
ESC/P Command Reference
(3) \\\: End of barcode
There must be three backslashes to end 2D barcodes.
Example
For data “12345” with symbol type ECC square at 40 × 40 with a 3-dot cell size, the command will be as
shown below.
ESC i D 03h 00h 28h(40d) 28h 00h 00h 00h 00h 00h “12345” \\\
- 92 -
5. Control Command Details
ESC/P Command Reference
1. Symbol
[1-byte decimal] 2
Structured carrier message
2. Structured
setting
[1-byte decimal] 0
With Structured Append (default value)
Maximum Amount of Information Allowed
Alphanumeric Characters
Numbers
Standard
93
138
Full EEC
77
113
Structured carrier message
84
126
ESC i M 2D barcode (MaxiCode)
ASCII: ESC i M or m data
Decimal: 27 105 77 or 109 data
Hexadecimal: 1B 69 4D or 6D data
Format: ESC i M or m [Parameters] \ [Barcode data] \\\
(1) (2) (3) (4)
Parameters
(1) [Parameters]
If a value other than those listed is entered for a parameter, that parameter is specified with its default
value.
type
Append
[1-byte decimal] 0
[1-byte decimal] 1
[1-byte decimal] 1
Standard (default value)
Full EEC
Without Structured Append
(2) \ (backslash)
Separator between parameters and barcode data
(3) [Barcode data]: Barcode data
The number of barcode data characters that can be entered is listed below.
Symbol Type
Note
The numbers of characters that can be entered (as listed above) are for when using only the
common character set (code set A in the MaxiCode specifications). The number of characters that
can be entered may decrease, depending on the characters that are used.
- 93 -
5. Control Command Details
ESC/P Command Reference
<data1>\,<data2>\,<normal_barcode_data>
Service class=default value
Country code
Postal code
Postal code
9 or less numbers, or
6 or less alphanumeric characters
Ignored when not structured carrier message.
Default value: 000000000
Country code
3 or less numbers
Ignored when not structured carrier message.
Default value: 000
Service class
3 or less numbers
Ignored when not structured carrier message.
Default value: 000
When the symbol type is the structured carrier message, the service class, country code and postal
code can be specified separately from the normal data. Specify each value, separated by a backslash
and comma (\,), immediately before the normal data.