Skip to main content

Encode text into emojis using Unicode steganography

Project description

🍹 emojito

PyPI version Python versions License

emojis with a hidden agenda.

A Python library and CLI tool that lets you secretly encode text into ordinary emojis using Unicode steganography. Hide messages in plain sight and share them anywhere emojis are supported.

Inspired by Paul Butler's article "Smuggling Arbitrary Data Through an Emoji".

Installation

Install from PyPI:

pip install emojito-py

Or install the latest development version directly from GitHub:

pip install git+https://github.com/matijaoe/emojito.git@main#egg=emojito-py
on a mac?

On macOS, pipx is recommended for CLI tools:

# Install pipx if you don't have it
brew install pipx
pipx ensurepath

# Install from PyPI (recommended)
pipx install emojito-py

# OR install from GitHub (development version)
pipx install git+https://github.com/matijaoe/emojito.git@main#egg=emojito-py

This installs the package in an isolated environment while making the CLI commands globally available.

Usage

CLI

Encode

emojito encode '🍹' 'trust no one'
# 🍹󠅤󠅢󠅥󠅣󠅤󠄐󠅞󠅟󠄐󠅟󠅞󠅕️

Decode

emojito decode '🍹󠅤󠅢󠅥󠅣󠅤󠄐󠅞󠅟󠄐󠅟󠅞󠅕️' 
# trust no one

Python

from emojito import encode, decode

secret = encode('🍹', 'trust no one')
print(secret) # 🍹󠅤󠅢󠅥󠅣󠅤󠄐󠅞󠅟󠄐󠅟󠅞󠅕️

decoded = decode(secret)
print(decoded) # trust no one

Limitations

  • Some platforms may strip variation selectors from emojis
  • Maximum message length is 255 bytes
  • Works best with single emojis as carriers

Acknowledgements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emojito_py-0.2.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

emojito_py-0.2.0-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file emojito_py-0.2.0.tar.gz.

File metadata

  • Download URL: emojito_py-0.2.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for emojito_py-0.2.0.tar.gz
Algorithm Hash digest
SHA256 49c2d80017538ff5d5d6e64a691a23ce05a585de3a6d255fc6203b83a3865085
MD5 cd78b048da20b1de6d7939e62e58c1f3
BLAKE2b-256 2795b087fc64c2f36b5e229a2b9f88eed91c4fc98b6d2e4780c3b3bc9f5d6b18

See more details on using hashes here.

Provenance

The following attestation bundles were made for emojito_py-0.2.0.tar.gz:

Publisher: publish.yml on matijaoe/emojito

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emojito_py-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: emojito_py-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for emojito_py-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e3d1db4a7bcd367088b276f3d6d2c64492f4802fb5ac5605cf124103fffb3fb
MD5 cf92dffaa40ca9cb3c7add4dc8a48fa3
BLAKE2b-256 f66f3f21f70918285a4cfb775b3d08046385e78c317a3e8a4079d5472eb17fbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for emojito_py-0.2.0-py3-none-any.whl:

Publisher: publish.yml on matijaoe/emojito

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page