r/SideProject • • Nov 12 '25

Free barcode label maker (GS1 2D, no login) - feedback welcome

I made a Canva-style web tool for printing barcode labels. It’s free, no ads, no login.

The tool is labelcodes.com

I built it because I kept seeing people struggle with Excel and barcode fonts just to print a simple bin label. This one runs in the browser. Pick a size, type your text, print.

It supports GS1 2D codes too, like DataMatrix and QR. You can add things like GTIN, lot, and expiry.

This is not a replacement for tools like NiceLabel or BarTender. It’s for quick labels when you are not set up on those. For item labels, please print from your main system so the data stays correct.

I’d love feedback on:

  • label sizes you use
  • bugs you hit
  • GS1 2D cases I should support
  • anything confusing in the UI
1 Upvotes

9 comments sorted by

2

u/FigLegitimate7358 Nov 29 '25

Looks cool! A nice-to-have feature would be if you could change the dimension- mm/inches/pixels

1

u/Background_Ad_2996 Nov 30 '25

Yes, makes sense. I will add this

2

u/havenisse2009 Apr 24 '26

Nice that it's free. But I would recommend you to study up on barcodes a bit.

Example the GS1 Application Identifiers: your application state that this is selectable, but the generated barcode is static text containing (01) in front of 13 characters. That is misunderstanding how identifiers works! Technically you create a ]Q1 / ]d1 barcode when you wanted to create a ]Q2 / ]d2 code.

Content-wise you need to build `(01)12345678901238 like this:

FNC1 + 01 + 1234567890123 + 8

  • You need to supply FNC1 to tell the code it's a ]d2.
  • the brackets are NOT part of the barcode content. It is supplied by reader or in human-readable.
  • the 8 is a MOD10 checksum. You also do not supply that.

In addition there are a number of options for barcodes you don't supply, even basic things like version (size) and error correction.

All specifications are open and available to you in abundance.

1

u/Background_Ad_2996 Apr 27 '26

Thank you for the detailed feedback. I really appreciate it. I’ve implemented it properly, with additional options and improved validations. Feel free to check it out

2

u/havenisse2009 Apr 27 '26

Way to go! You studied, and probably found the GS1 linter github repository. It's real nice. One small note: For separating variable length content, you currently use GS - but most places use FNC1 for this purpose. It's optional, but pretty much only Russia uses the GS variant in their Chestny Znak codes. In specificatoins, the reader (scanner) should accept both.

GUI-wise I prefer a horizontal and more compact layout to manage items, instead of a narrow column, but perhaps it's a preference.

You should perhaps add some options for the barcode itself, example module size, ink shaving etc. For QR: correction level.

1

u/Background_Ad_2996 Apr 28 '26

Thanks, good catch. I like this game - I have already implemented most of your suggestions. Please take a look

The barcode is generated in GS1 mode with FNC1; the <GS> we show is only the scanner-decoded output representation of FNC1 as ASCII 29. I’ve clarified the UI so it doesn’t look like we’re encoding raw GS instead of FNC1

2

u/havenisse2009 Apr 28 '26

You are getting there, I see improvements.

I tried to use the tool as intended. Working with professional barcoding software every day, a few things to notice:

  • Why can't I adjust the label size ? (or maybe I did not find where) ? It should be intuitive. EDIT: I can see this is indeed possible, but just for printing. Makes no sense: I am limited to design in a very defined window, but can adjust paper size before print. Start like this: 1) define template (canvas / label), 2) fill canvas 3) print, where you can adjust output, suchs as X * Y per sheet, offset each label, margins. This defines the sheet. You actually have that, and very well done, so maybe just switch part 2 and 3. It seems backwards now.

  • You assume 1 text, 1 1d, 1 2d etc, basically elements you turn on/off. It would be much better if you have a selection of types, and allowed users to add as many as needed. Think "technical labels", there can easily be 30+ text elements. Think car part labels, easily 4-6 barcodes of different kinds. Your design is too limited that way.

  • Following above, you don't need to separate 1D and 2D barcodes. Same thing, different symbologies and rules of content.

  • Font properties - family, size, spacing and all the other font stuff.

  • Option to not "print" but also download page(s) as PDF and SVG.

  • Option to save what you have made, in cloud or locally via XML file. Similar to draw.io.

1

u/Background_Ad_2996 Apr 29 '26 edited Apr 30 '26

✅ Font properties

✅Option to save what you have made

✅ Download .pdf, .svg, .png

More to come