QR Decode
Decode a QR

Local barcode tool

Pharmacode Generator

Be the first to rate this page.

Encode a pharmaceutical packaging-control number as a locally checked Pharmacode symbol.

Generated and read back in this browser. Nothing entered here is uploaded.

Processed locally

Your input stays in this browser.

Ready to verify

Review the result before saving or printing.

No expiry

Static codes keep working without a subscription.

Pharmacode carries a packaging-control value

Pharmacode is a one-track pharmaceutical symbology designed for high-speed production checks. It represents an integer, conventionally from 3 to 131070, using narrow and wide bars. It is not a GTIN, patient identifier, prescription number or retail barcode. The number is assigned by a controlled packaging process; this generator only turns that supplied decimal value into a standard bar sequence locally.

Derive 117 from bar weights

Work from the right using weights that double: a narrow bar contributes its weight and a wide bar contributes twice its weight. Repeatedly divide the remaining value: 117 is odd, so subtract 1 and record narrow at weight 1; 58 is even, so subtract 2 and record wide at weight 2; continue through 28, 13, 6, 2 and 0. Reversing the recorded bars gives the printed order.

The reconstruction formula

If narrow bars have coefficients 1, 4, 16 and so on, and wide bars have 2, 8, 32 and so on, sum the coefficient of every bar. For a pattern N W W N W N, the total is 1 + 8 + 32 + 64 + 512 + 1024 only when those positions match the generated weights; do not estimate from apparent width. The page's read-back recomputes the exact decimal value from the rendered pattern.

Why it has no printed check digit

Pharmacode's bar-width representation is itself the value encoding; it does not append a retail-style visible modulo-10 digit. A production line usually compares the decoded value to the packaging job's expected control number. That workflow is different from retail checkout. Adding a GTIN check digit or human-readable product code to the Pharmacode payload changes its meaning rather than making it safer.

Use in a controlled line

Typical use is confirming that a leaflet, carton or label belongs to the current pharmaceutical packaging run before a fast mechanical operation continues. The camera or dedicated reader must be configured for the intended Pharmacode direction and contrast. This web preview is useful for preparing artwork but does not replace validated line equipment, batch release procedures or pharmaceutical quality controls.

Bar width is the data

A wide bar is not merely a thick version of a narrow bar for visual emphasis. It has a defined numerical contribution. Resizing an SVG uniformly preserves the ratio; a design application that rounds one width differently can alter the decoded value or make it unreadable. Keep a clear background, avoid gradients and test the final rasterized proof at the line's actual speed and illumination.

Input boundaries prevent ambiguous symbols

Very small values do not produce enough bars for reliable Pharmacode interpretation, while values above 131070 exceed the conventional six-digit binary-weight range. The form rejects both boundaries instead of truncating the number. It accepts decimal integers only: a lot number with letters belongs in another data carrier, not in a numeric Pharmacode control mark.

Different from GS1-128

GS1-128 carries structured identifiers such as GTIN, expiry and lot through application identifiers and Code 128 codewords. Pharmacode conveys one small control number through narrow and wide bar values. A production site may use both on the same package for different purposes, but neither is a substitute for the other and their reader configurations should remain separate.

Verify the proof as a value

After entering a decimal number, the browser renders the bars and decodes its own SVG back to the same number before enabling the result. Keep that number with the packaging-job record and inspect the exported artwork after every conversion or imposition step. A successful local result says the generated pattern reconstructs the supplied integer; regulated release decisions remain with the validated quality system.

Validate the line, not just the browser

A pharmaceutical production reader is normally qualified for a particular camera, illumination, speed, substrate and barcode orientation. This page cannot reproduce those conditions. Use the exported SVG as artwork input, then have the validated line reconstruct the decimal value during an approved trial. A browser read-back is a valuable preflight check, but it is not batch release evidence or a substitute for regulated quality procedures.

Keep control values separate from product identity

A Pharmacode value may be changed between packaging jobs while the GTIN, product name and leaflet revision are managed elsewhere. Do not use the decimal control number as a public product identifier or infer a medicine's contents from it. Conversely, do not replace Pharmacode with a GTIN because a retail scanner recognizes the latter. Each carrier exists for a different reader and a different decision point.

Inspect after every artwork transform

PDF export, imposition, trapping and rasterization can alter the narrow-to-wide bar relationship. Inspect the final imposed proof rather than the source SVG alone, particularly if a print supplier changes resolution or applies automatic fitting. Keep a plain reference pattern for the same value so a failure can be localized. Reconstructing the wrong decimal value is more serious than a merely unattractive bar pattern.

Keep the verification boundary clear

Keep the decimal value in the packaging record and compare it with the value reconstructed by validated line equipment. The generated SVG is only an artwork source; the controlled production reader remains the decisive check on the final package.

Enter your values, review the result, then use it with confidence.

Rate this page

Be the first to rate this page.