- Barcode Products
-
Guide
- Generate barcodes in ASP.NET
- Generate barcodes in .NET WinForms
- Generate barcodes in Visual C#.NET
- Generate barcodes in Visual Basic.NET
- Generate barcodes in Java
- Generate barcodes in Crystal Reports
- Generate barcodes in Reporting Service
- Generate barcodes in RDLC Report
- Generate Barcodes in BIRT Report
- Integration
- Knowledge
- Order Now
- About Us
Code 39 (also known as "USS Code 39", "Code 3/9", "Code 3 of 9", "USD-3", "Alpha39", "Type 39") is a barcode symbology that can encode uppercase letters (A through Z), digits (0 through 9) and a handful of special characters like the $ sign.
Code 39 is restricted to 44 characters. In Full ASCII Code 39 Symbols 0-9, A-Z, "." ,and "-" are the same as their representations in Code 39. Lower case letters, additional punctuation characters and control characters are represented by sequences of two characters of Code 39.
Java Barcode for Code-39 generates:
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- Uppercase letters (A - Z)
- - (Dash), $ (Dollar), % (Percentage), (Space), . (Point), / (Slash), + (Plus)
- all 128 ASCII characters

Java Code-39 Barcode Generator - Common Questions
1. How to generate Code-39 barcodes in JSP & HTML pages?
- Copy "barcoding" folder contents to your Java Servlet container like Tomcat or JBoss's applications folder
- Restart your Java Servlet container
- Open your web browser like IE, Firefox, and navigate to http://localhost:8080/barcoding/linear?DATA=0123456789&TYPE=8
-
To generate Code39 barcode images in JSP or HTML pages, insert the following html img tag code:
<img src="http://localhost:8080/barcoding/linear?DATA=0123456789&TYPE=8" border=0 />
2. How to create Code-39 barcodes in Java Servlet?
try { Barcode barcode = new Barcode(); barcode.setSymbology(Barcode.CODE39); barcode.setCode("CODE39-IN-JAVA"); response.setContentType("image/jpeg"); response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); ServletOutputStream servletoutputstream = response.getOutputStream(); barcode.drawOnStream(servletoutputstream); } catch (Exception e) { throw new ServletException(e); }
3. How to generate Code-39 barcodes in Java Class?
Barcode barcode = new Barcode(); barcode.setSymbology(Barcode.CODE39); barcode.setCode("CODE39-IN-JAVA"); barcode.drawImage2File("C://code39.gif");
4. How to draw Code-39 barcodes to image files?
Barcode barcode = new Barcode(); barcode.setSymbology(Barcode.CODE39); barcode.setCode("JAVA-CODE39-BARCODES"); barcode.drawImage2File("C://code39.gif");
5. How to draw & print Code-39 barcodes to Java image objects or stream objects?
Barcode barcode = new Barcode(); barcode.setSymbology(Barcode.CODE39); barcode.setCode("JAVA-CODE39-BARCODES"); barcode.drawOnGraphics("Graphics2D object"); barcode.drawOnStream("OutputStream object");
Java Barcode Code-39 Generator - Barcode Property Settings
Basic
-
symbology : Barcode symbology type.
Servlet Parameter: symbology; Default Value: Barcode.CODE128 (11)
-
code : Barcode encoding data value.
Servlet Parameter: code; Default Value: ""
-
supplementCode : 2 or 5 digits Barcode supplement data for EAN-8, EAN-13, UPC-A, UPC-E, ISBN, ISSN only.
Servlet Parameter: supplement-code; Default Value: ""
-
addChecksum : Apply Checksum digit at the end of some linear barcode value.
Servlet Parameter: add-checksum; Default Value: false
-
barcodeUnit : Unit of meature for all size related properties. 0: Pixel (default); 1: CM; 2: Inch.
Servlet Parameter: barcode-unit; Default Value: 0 (UOM_PIXEL)
-
barWidth : bar module width, default is 3 pixel
Servlet Parameter: bar-width; Default Value: 3
-
barHeight : bar module height, default is 60 pixel
Servlet Parameter: bar-height; Default Value: 60
-
leftMargin : generated barcode image left margin
Servlet Parameter: left-margin; Default Value: 0.0f
-
rightMargin : generated barcode image right margin
Servlet Parameter: right-margin; Default Value: 0.0f
-
topMargin : generated barcode image top margin
Servlet Parameter: top-margin; Default Value: 0.0f
-
bottomMargin : generated barcode image bottom margin
Servlet Parameter: bottom-margin; Default Value: 0.0f
-
resolution : generated barcode image resolution in dpi
Servlet Parameter: resolution; Default Value: 72 dpi
-
rotate : barcode rotate angle, valid values: 0 (ROTATE_0), 1 (ROTATE_90), 2 (ROTATE_180), 3 (ROTATE_270)
Servlet Parameter: rotate; Default Value: 0 (ANGLE_0)
-
barcodeWidth
Servlet Parameter: barcode-width; Default Value: 0
-
barcodeHeight
Servlet Parameter: barcode-height; Default Value: 0
-
displayText : set true to draw barcode value text under the barcode
Servlet Parameter: display-text; Default Value: true
-
textFont : drawn barcode value text font style
Servlet Parameter: text-font; Default Value: new Font("Arial", Font.PLAIN, 11)
-
displayStartStopChar : for Barcode Code39 and Code39 extension only, draw start & stop char (*) in the beginning and end of code39
Servlet Parameter: display-start-stop-char; Default Value: true
-
I : Width of intercharacter gap, This a multiple of X. For Code39 only.
Servlet Parameter: i; Default Value: 1.0f
-
barRatio : Wide vs narrow bar width ratio, valid range 2.0 - 3.0 inclusive. For Code39, Code 2 of 5, Interleaved 2 of 5, ITF-14, Identcode & Leitcode
Servlet Parameter: bar-ratio; Default Value: 2.0f
-
bearerBarStyle : For ITF-14 only, Barcode.BEARER_BAR_FRAME (1) or Barcode.BEARER_BAR_HORIZONTAL (2)
Servlet Parameter: bearer-bar-style; Default Value: Barcode.BEARER_BAR_FRAME (1)
-
bearerBarWidth : For ITF-14 only, The bearer bar size. Valid values are 0-10 which are a multiple of barWidth.
Servlet Parameter: bearer-bar-width; Default Value: 2.0f
Java Barcode Generator Supporting Barcode Symbology Types
-
Linear Barcodes
- Codabar - Code-11 - Code-39 - Code-93 - Code-128 - EAN-128 / GS1-128 - Code 2 of 5 - Interleaved 2 of 5 - UPC-A - UPC-E - EAN-8 - EAN-13 - GS1 DataBar - ISBN - ISSN - Identcode - Leitcode - Planet - Postnet - USPS Intelligent Mail Barcode (Onecode) - MSI Plessey - RM4SCC - ITF-14 -
Data Matrix - Data Matrix with ECC200, ASCII, text, C40 and Base256 encoding, Extended Channel Interpretation and Structured append.
-
PDF-417 - PDF417 with EC levels 1 to 8, text and binary encoding.
-
QR-Code - QRCode with structured append, UPS encoding and mode 2-6 support.