Show HN: I built an offline, open‑source desktop Pixel Art Editor in Python

12 hours ago (github.com)

It requires no registration, no installation, and no configuration. Just run it on any computer and start drawing freely.

Very nice to see that this project is hand-crafted and not AI-generated like 99% of the submissions here

So, congrats on your release.

  • When I clicked I already thought about the comments that ask "is this vibe coded". So I kind of asked myself that question. As someone who manually codes as well as experiments with AI-assisted coding I ask myself what attitude we should develop towards AI-assisted coding in the long run. Right now on HN it almost seems like "AI shaming" at work. If you post a project that's a result of using AI you can expect a lot of critique around here. While I understand that to a certain extent I guess we also need to overcome that sentiment. After all we don't blame people using IDEs, code completion or other tools that have become the norm.

    • > After all we don't blame people using IDEs, code completion or other tools that have become the norm.

      Because those don’t have the same issues. It’s not like IDEs, LSPs, and other tools were the target of warranted criticism and then we stopped. Rather, they never received this kind of backlash in the first place.

      No IDE has ever caused millions of people absolutely unrelated to it to have to ration water.

      https://archive.ph/20250731222011/https://m.economictimes.co...

      To use an exaggerated analogy, it’s like saying “people are complaining about arsenic being added to food but we need to overcome that sentiment, after all we don’t blame people adding salt and pepper which have become the norm”.

      2 replies →

    • If I can tell something is "vibe coded", that means it's bad. It doesn't matter what tools people use as long as the output is good. Vibe coding smells include:

      1. Tons of pointless comments outlining trivial low-level behaviour,

      2. No understanding of abstraction levels,

      3. No real architecture at all,

      4. Not DRY, no helper functions or inconsistent use of said functions across project,

      5. Way too many lines of code.

      None of these are shaming for use of any particular tool, they are just shaming the output.

      1 reply →

  • It's really odd now that we look for more human code rather than AI Generated code, and I think this is going to be increasing in every form of data that's out there.

  • Thanks! Although I had to use it for some things (like the logo, for example, and I’m not a "graphic guy"), in the end, since it’s a simple project by design, I didn’t mind, and the result isn’t bad at all.

  • Genuinely why do you care?

    • This may not be entirely the right metaphor but I kinda see it as the difference between fast food, a top rated restaurant, and home made cooking —with fast food being AI.

      Generic, does the job, not the highest quality, bleak, fast repetitious output

      2 replies →

> There are several Pixel Art Editors that do the same things and even much more, but many require an account registration or the insertion of an e-mail or have a certain business model.

https://libresprite.github.io/

  • Latest Aseprite is still available with free (as in beer) source code to compile, even if it is a bit heavy on the dependencies these days, including requiring that you install a special fork of Skia iirc. I paid for it to get the pre-compiled binaries for Windows, but on Linux and OSX I always compiled it myself anyway. On FreeBSD, that is my desktop OS of choice now, I use the ancient open source version of Aseprite since that is what is most convenient to install (from the port). Maybe I should try Libresprite instead.

    For my programmer art I also use old (Autodesk) Animator (in DOSBox) a lot. It is small and runs anywhere. Perfect for doodling on my phone, with some configuration to add various on-screen buttons in DOSBox. Small enough (less than 1 MB) that the entire application plus all configuration and saved working files can go into every source code repository where I want to edit some pixel art. https://github.com/AnimatorPro

    Also have VGA Paint 386 installed in DOSBox everywhere. Have not used it much, but it seems good (probably more interesting for those that want something closer to a Deluxe Paint clone). https://www.bttr-software.de/products/vp386/

    Then there is https://orama-interactive.itch.io/pixelorama that is open source and seems to improve at a good pace. I just never took the time to look very close.

    Going to have a look at Tilf as well, to see if it is not too much work to get it to run in FreeBSD. Not being an expert in drawing anything, it helps to have many tools and switch between, as all tend to have something they do better (or easier) than the other ones.

Please provide github topics (tags) for the project. It may boost your project discoverability. I often use it with github search to find interesting projects in "topic".

Great project!

I have one very silly question... Why is the elf logo not pixel art? :)

I like that it really is simply built and packaged, I'm sure it was fun to hack away at. There's something about gluing together a million packages which sucks the fun out of tinkering (for me, at least).

  • That’s also why the project was built from scratch. The only real dependency of the project is PySide6. The icons don’t come from any package. PyInstaller is used solely for bundling purposes. As outlined in the README.md, running Tilf requires nothing more than an installed version of Python (3).

Much "an app can be a home-cooked meal" energy here. Write a program to scratch an itch. Good to see that spirit still alive.

Congratulations!

What made you decide to go with PySlide6?

  • PySide6 is a solid choice for Python desktop apps - Qt's rendering capabilities make it ideal for pixel-perfect graphics manipulation while avoiding the performance issues that can plague Tkinter or the dependency complexities of wxPython.

  • I already have some experience with Python/PySide6, and I was mainly interested in having a working prototype as soon as possible (I’m experimenting with SDL3 and animating squares isn’t exactly thrilling!). Plus, Qt widgets integrate very well with Python, it is so easy to create a section, especially when the documentation is well written, that helps a lot. Also, with PyInstaller, the build process for each platform is fairly straightforward (although for customized icons, there are a few extra steps to take).

    There are some downsides of course (like the bundle size, for example), but that's not a problem, the core idea is: double-click on Tilf and start drawing right away.

I recently discovered and have been fairly happy with PixelLab - an AI pixel art generator. I feel like they have a ways to go in features and UX, but it shows promise.