Skip to content

AvinashWalton/PixelLocker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”’ Pixel Locker

Pixel Locker Banner

Browser-based Image Steganography Tool โ€” Hide Secret Messages Inside Any Photo

Live Demo License: MIT HTML5 JavaScript No Dependencies Offline Ready Stars


๐Ÿ“– What is Pixel Locker?

Pixel Locker is a free, 100% browser-based image steganography tool that lets you hide secret messages inside any ordinary photo using LSB (Least Significant Bit) pixel manipulation.

"The image looks completely normal โ€” but only you know what's hidden inside."

Real-world use cases:

  • ๐Ÿ•ต๏ธ Send secret notes disguised as vacation photos
  • ๐Ÿ“– Hide story clues for escape rooms or ARGs
  • ๐Ÿ” Store passwords/keys inside profile pictures
  • ๐ŸŽญ Covert communication with zero server involvement
  • ๐ŸŽฎ Create mystery challenges and steganography puzzles

โœจ Features

Feature Description
๐Ÿ”’ LSB Steganography Hides message in least significant bits of pixels โ€” visually identical
๐Ÿ”‘ XOR Encryption Optional password layer encrypts message before embedding
๐Ÿ“ฑ Fully Responsive Works on mobile, tablet & desktop โ€” no installation needed
๐Ÿ–ฑ๏ธ Drag & Drop Smooth drag-and-drop image upload with real-time preview
๐Ÿ“Š Capacity Indicator Shows max character capacity based on image dimensions
๐Ÿ• Timestamp Embed Optionally embed creation timestamp inside the message
๐Ÿ“‹ Paste Support Ctrl+V to paste images directly from clipboard
โŒจ๏ธ Keyboard Shortcuts Ctrl/Cmd + Enter to encode/decode instantly
๐Ÿ’พ PNG Output Always exports as lossless PNG โ€” preserving hidden data
๐Ÿ†“ 100% Free & Open Source MIT licensed, no account, no ads, no limits

๐Ÿš€ Demo

Live URL: https://avinashwalton.github.io/PixelLocker/


๐Ÿ› ๏ธ How It Works

Pixel Locker uses LSB (Least Significant Bit) Steganography:

Original pixel:  R=11001010  G=10110101  B=11011001
                        โ†“                 โ†“                  โ†“
After hiding:    R=11001011  G=10110100  B=11011001
                         โ†‘                 โ†‘
                    bit changed = 1     bit changed = 0

Encoding Process:

  1. Load any PNG/JPG/WEBP image as the carrier
  2. Type your secret message (optional: add a password)
  3. The message is converted to binary bits
  4. A 32-bit length header + Pixel Locker marker is prepended
  5. Each bit is embedded into the LSB of R, G, B channels sequentially
  6. Output image is downloaded as lossless PNG

Decoding Process:

  1. Upload the stego PNG image
  2. First 32 bits are read to find the message length
  3. Message bits are extracted from pixel LSBs
  4. The Pixel Locker marker is verified
  5. If password-protected, XOR decryption is applied
  6. Secret message is revealed โœ…

๐Ÿ“ฆ Installation / Usage

No installation needed! Just open the HTML file in any modern browser.

Option 1: Use the live site

https://avinashwalton.github.io/PixelLocker/

Option 2: Clone and run locally

git clone https://github.com/AvinashWalton/PixelLocker.git
cd PixelLocker
# Open index.html in your browser
open index.html         # macOS
xdg-open index.html     # Linux
start index.html        # Windows

Option 3: Download single file

Download index.html โ€” it's completely self-contained (CSS + JS inbuilt). Just open it!


๐Ÿ” Security Notes

  • โœ… Zero network requests during encode/decode โ€” everything is local
  • โœ… No data ever leaves your device โ€” not even to our own server
  • โœ… Password adds XOR cipher on top of steganography
  • โš ๏ธ LSB steganography alone is NOT cryptography โ€” always use a password for sensitive data
  • โš ๏ธ Never re-compress the output image (no JPEG conversion, no social media uploads that recompress)
  • โš ๏ธ This tool is for educational and personal use โ€” don't use for illegal activities

๐Ÿ–ผ๏ธ Supported Formats

Format Encode (Input) Decode (Input) Output
PNG โœ… โœ… โœ… Always PNG
JPG/JPEG โœ… โš ๏ธ Only if not re-compressed โŒ
WEBP โœ… โš ๏ธ Only if not re-compressed โŒ
BMP โœ… โœ… โŒ

Pro tip: Use PNG as your carrier image for best results, and always share the output as PNG.


๐Ÿ“ Message Capacity Formula

Max characters โ‰ˆ (Width ร— Height ร— 3) / 8 - overhead
Image Size Approx. Capacity
100 ร— 100 ~3,700 chars
500 ร— 500 ~93,000 chars
1000 ร— 1000 ~375,000 chars
1920 ร— 1080 ~777,000 chars

๐Ÿ—‚๏ธ Project Structure

PixelLocker/
โ”œโ”€โ”€ index.html          # Complete app (HTML + CSS + JS โ€” single file)
โ”œโ”€โ”€ README.md           # This file
โ”œโ”€โ”€ LICENSE             # MIT License
โ””โ”€โ”€ og-image.png        # Open Graph preview image (optional)

๐Ÿค Contributing

Contributions are welcome! Here's how:

# 1. Fork this repo
# 2. Create your feature branch
git checkout -b feature/amazing-feature

# 3. Commit your changes
git commit -m 'Add amazing feature'

# 4. Push to the branch
git push origin feature/amazing-feature

# 5. Open a Pull Request

Ideas for contribution:

  • AES-256 encryption support
  • Support for hiding files (not just text)
  • Steganography detection analysis mode
  • PWA (Progressive Web App) support
  • Multiple image channel support
  • Batch encode/decode

๐Ÿ”— More Tools by Avinash Walton

Tool Description Link
โšก FileFlux Fast browser-based file converter GitHub
โœ๏ธ AuthorPro Professional writing & authoring assistant GitHub
๐Ÿ‡ฎ๐Ÿ‡ณ DesiLang Indian language tools for creators GitHub
๐Ÿ“ TranscriptPro Audio/video transcription in browser GitHub

๐Ÿ“„ License

MIT License

Copyright (c) 2025 Avinash Walton

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

๐Ÿ‘จโ€๐Ÿ’ป Author

Avinash Walton

YouTube Twitter Instagram LinkedIn GitHub


Made with โค๏ธ in India

โญ Star this repo if it helped you! โญ

About

๐Ÿ”’ Hide secret messages inside any image โ€” Free browser-based LSB image steganography tool. 100% offline, no server, no data leaks. Encode & decode secrets in photos instantly.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages