this post was submitted on 27 Mar 2025
95 points (98.0% liked)

Selfhosted

60526 readers
1078 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

MAZANOKE is a simple image compressor and converter that runs entirely in your browser. No external uploads, works offline as a web app, and is powered by the "Browser Image Compression" library.

Github project page: https://github.com/civilblur/mazanoke

Features

  • πŸš€ Compress & Convert Images Instantly In Your Browser
    • Adjust image quality (0-100%).
    • Set a target file size.
    • Set max dimensions, to not exceed a certain width/height.
    • Convert between JPG, PNG, and WebP.
  • 🌍 Installable Web App
    • Use as a Progressive Web App (PWA).
    • Dark and light mode.
    • Fully responsive for desktop, tablet, and mobile.
  • πŸ”’ Privacy-Focused
    • Works offline.
    • All image processing happens locally.
    • No data is uploaded to external servers. Your files stay on your device.

Use case

This app is designed to compress smaller batches of images, aimed at casual users who need to compress and convert a few images at a time.

I created it primarily for friends and family who are less tech-savvy, to help them compress and convert images in a simple, safe, and private way.

Since the compression is handled in the browser, it won't cause any additional load on your server.

Additional notes

  • I wanted it to be low-dependency, so it's built using pure HTML/CSS/JS.
  • If you're wondering about the excessive amount of animations used, it's simply because I wanted to have fun working on this project. These types of animations are usually impractical for general purpose websites and are impractical to maintain.
top 17 comments
sorted by: hot top controversial new old
[–] poVoq@slrpnk.net 9 points 1 year ago (1 children)

Something like that could be also interesting for a Lemmy frontend to make it easier to share images on instances that have strict upload limits.

[–] lent9004@lemmy.world 7 points 1 year ago

Yes indeed, the library I used "Browser Image Compression" is quite easy to work with. I did this as a weekend project + a few more days to prepare for open sourcing.

[–] Kualdir@feddit.nl 8 points 1 year ago (2 children)

I'd love if there was a way to hook this onto apps like discord to automatically compress images too big to upload

[–] lent9004@lemmy.world 6 points 1 year ago (1 children)

Probably could be used with betterdiscord that supports js plugins.

[–] Fisch@discuss.tchncs.de 5 points 1 year ago (2 children)

Pretty sure Vencord is what's used now. It's what I use at least because it's preinstalled with Vesktop.

[–] Mora@pawb.social 3 points 1 year ago

Nah, Betterdiscord is still alive and kicking. And it still has the best image utility plugin.

[–] lent9004@lemmy.world 1 points 1 year ago

Ah I see, I'm still on webcord to be honest (not for any particular specific reason).

For windows the powertoys resize extension works great, just a right click option to easily make images smaller.

[–] denshi@discuss.tchncs.de 3 points 1 year ago* (last edited 1 year ago) (1 children)
[–] lent9004@lemmy.world 21 points 1 year ago* (last edited 1 year ago) (1 children)

This has analytics tracking and is made by Google though. I intentionally wanted to stray away from that.

Edit: typo

Amen. Time for a star+ download

[–] Kuvwert@lemm.ee 2 points 1 year ago

Cool! I was just thinking about putting something like this together.

I'll check it out today!

[–] AceFuzzLord@lemm.ee 1 points 1 year ago

Damn this is something I need to look into.

[–] henchman2019@lemmy.world 1 points 1 year ago

Installed. It's great! Easy and fast. I'll be using this almost daily. Thank you.

[–] dangling_cat@lemmy.blahaj.zone 1 points 1 year ago (1 children)

It would be nice if it worked in Node.js

[–] anomnom@sh.itjust.works 1 points 1 year ago* (last edited 1 year ago)

Does node have access to a browser compression command? It kinda defeats the purpose of running it entirely in the client’s browser and offloading the processing from the server.

Sharp or Jimp run in it instead right?

^disclaimer, I’m still running rmagick in ruby and don’t play with the cool new toys as much these days).^

[–] Ulrich@feddit.org 0 points 1 year ago

Okay now do videos