Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. steganography

steganography

MITGov1.0.3

A pure Go library for LSB steganography on images with zero dependencies, enabling encoding and decoding of hidden data.

GitHubGitHub
353 stars47 forks0 contributors

What is steganography?

Steganography Lib is a pure Go library that implements LSB (Least Significant Bit) steganography for PNG images. It allows users to hide any type of file within images by subtly altering pixel data, making the hidden information imperceptible to the human eye, providing a method for covert data storage and transmission.

Target Audience

Go developers building applications that require embedding and extracting hidden data within PNG images for purposes like secure messaging or data obfuscation.

Value Proposition

Developers choose this library for its zero dependencies, pure Go implementation, and simple API with functions like Encode, Decode, and GetMessageSizeFromImage, making it efficient and easy to integrate into Go applications.

Overview

Pure Golang Library that allows LSB steganography on images using ZERO dependencies

Use Cases

Best For

  • Embedding confidential text or documents into PNG images for covert communication.
  • Extracting hidden files from images that have been encoded using LSB steganography.
  • Building Go applications that require dependency-free steganography capabilities.
  • Determining the maximum message size an image can hold before encoding data.
  • Storing files of any format (not just text) within image pixels without visible alteration.
  • Implementing simple LSB steganography in command-line tools or services for data obfuscation.

Not Ideal For

  • Applications requiring steganography for non-PNG image formats like JPEG or BMP
  • Projects needing cryptographically secure data hiding, as LSB is basic and detectable
  • Teams wanting a GUI-based tool without writing Go code for integration
  • High-volume batch processing where more optimized or feature-rich steganography libraries are preferred

Pros & Cons

Pros

Dependency-Free Implementation

Written entirely in pure Go with no external libraries, ensuring easy integration and reduced bloat in Go projects, as highlighted by the 'Zero Dependencies' feature.

Straightforward API

Offers simple functions like Encode, Decode, and GetMessageSizeFromImage, making it easy to embed and extract hidden data with minimal code, as shown in the README examples.

Format-Agnostic Encoding

Capable of storing files of any format, not just text, allowing for versatile covert data storage, as stated in the 'Any File Format' key feature.

Built-in Capacity Checking

Includes GetMessageSizeFromImage to determine the maximum message size an image can hold before encoding, preventing errors and optimizing usage, detailed in the 'Message Size Detection' section.

Cons

PNG-Only Support

Limited to PNG image format, as indicated by the use of png.Decode in examples, making it unsuitable for other common formats like JPEG without additional conversion steps.

Basic LSB Technique

Implements only LSB steganography, which is a simple method that can be easily detected by steganalysis tools and lacks advanced features like encryption for security.

Sparse Error Handling Documentation

The README examples omit error checks 'for brevity,' which might lead to confusion for developers implementing robust error handling in production code.

Inefficient for Large Messages

Requires a minimum of 24 pixels per byte and 3 more pixels for each additional byte, as noted in the README, which can limit capacity and performance for hiding large files.

Frequently Asked Questions

Quick Stats

Stars353
Forks47
Contributors0
Open Issues0
Last commit5 months ago
CreatedSince 2018

Tags

#png#covert-communication#zero-dependency#library#go-library#privacy#steganography#golang-library#security#image-processing#golang#data-hiding#image#go

Built With

G
Go

Included in

Go169.1k
Auto-fetched 1 day ago

Related Projects

gocvgocv

Go package for computer vision using OpenCV 4 and beyond. Includes support for DNN, CUDA, OpenCV Contrib, and OpenVINO.

Stars7,510
Forks899
Last commit4 months ago
imaginaryimaginary

Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing

Stars6,084
Forks500
Last commit11 months ago
imagingimaging

Imaging is a simple image processing package for Go

Stars5,766
Forks480
Last commit3 years ago
gggg

Go Graphics - 2D rendering in Go with a simple API.

Stars4,794
Forks387
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub