A powerful web-based text transformation and steganography tool that can encode/decode text in over 50 different languages, scripts, and formats. Think of it as a universal translator for ALL alphabets and writing systems!
- Emoji Steganography: Hide messages within emojis using variation selectors
- Invisible Text: Encode text using Unicode Tags block (completely invisible)
- Image Steganography: Hide messages in images using LSB techniques
- Base64 - Standard base64 encoding/decoding
- Base32 - RFC 4648 compliant base32 encoding/decoding
- Base58 - Bitcoin alphabet encoding/decoding
- Base62 - 0-9A-Za-z compact encoding/decoding
- Binary - Convert text to/from binary representation
- Hexadecimal - Convert text to/from hex format
- ASCII85 - Advanced ASCII85 encoding/decoding
- URL Encode - URL-safe encoding/decoding
- HTML Entities - HTML entity encoding/decoding
- Caesar Cipher - Classic shift cipher with configurable offset
- ROT13 - Simple rotation cipher
- ROT47 - Extended rotation cipher for ASCII 33-126
- Morse Code - International Morse code with proper spacing
- NATO Phonetic - NATO phonetic alphabet
- Vigenère Cipher - Polyalphabetic cipher (default key "KEY")
- Rail Fence (3 Rails) - Zig-zag transposition cipher
- Upside Down - Flip text upside down using Unicode characters
- Full Width - Convert to full-width Unicode characters
- Small Caps - Convert to small capital letters
- Bubble Text - Enclose letters in circles
- Braille - Convert to Braille patterns
- Strikethrough - Add strikethrough using combining characters
- Underline - Add underlines using combining characters
- Medieval - Gothic/medieval style characters
- Cursive - Cursive/script style characters
- Monospace - Monospace mathematical characters
- Double-Struck - Mathematical double-struck characters
- Greek Letters - Greek alphabet characters
- Wingdings - Symbol font characters
- Fraktur - Mathematical Fraktur alphabet
- Cyrillic Stylized - Latin letters mapped to similar Cyrillic glyphs
- Katakana - Romaji to Katakana (approximate, reversible)
- Hiragana - Romaji to Hiragana (approximate, reversible)
- Roman Numerals - Numbers to Roman numerals (reversible)
- Quenya (Tolkien Elvish) - High Elvish language from Lord of the Rings
- Tengwar Script - Elvish writing system
- Klingon - Star Trek Klingon language
- Aurebesh (Star Wars) - Galactic Basic alphabet
- Dovahzul (Dragon) - Dragon language from Skyrim
- Elder Futhark - Ancient Germanic runes
- Hieroglyphics - Egyptian hieroglyphic symbols
- Ogham (Celtic) - Celtic tree alphabet
- Semaphore Flags - Flag signaling system
- Brainfuck - Esoteric programming language
- Mathematical Notation - Mathematical script characters
- Chemical Symbols - Chemical element abbreviations
- Pig Latin - Simple word transformation
- Leetspeak - 1337 speak with number substitutions
- Vaporwave - Aesthetic spacing
- Zalgo - Glitch text with combining marks
- Mirror Text - Reversed text
- Rainbow Text - Colorful text effects
- Smart Detection: Automatically detects and decodes any supported format
- Priority Matching: Prioritizes decoding based on active transform
- Fallback Methods: Tries all available decoders if primary fails
- Real-time Processing: Instant decoding as you type
- Dark/Light Theme: Toggle between themes
- Copy History: Track all copied content with timestamps
- Auto-copy: Automatically copy transformed text
- Keyboard Shortcuts: Quick access to features
- Responsive Design: Works on all device sizes
- Accessibility: Screen reader friendly with proper ARIA labels
- Open
index.htmlin any modern web browser - Type text in the input field
- Choose a transformation from the categorized buttons
- Click any transform button to apply and auto-copy
- Use the Universal Decoder to decode any encoded text
pip install streamlit pillow pyperclip
streamlit run parsel_app.py- Frontend: Vue.js 2.6 with modern CSS
- Backend: Streamlit Python app (alternative)
- Encoding: UTF-8 with proper Unicode handling
- Steganography: Variation selectors and Tags Unicode block
- Chrome/Edge 80+
- Firefox 75+
- Safari 13+
- Mobile browsers (iOS 13+, Android 8+)
- Real-time Processing: < 16ms for most transforms
- Memory Efficient: Streams large text without loading into memory
- Optimized Rendering: Efficient DOM updates with Vue.js
- β
Duplicate Transform: Removed duplicate
invisible_texttransform - β Base32 Implementation: Fixed encoding/decoding with proper byte handling
- β Unicode Support: Improved handling of complex Unicode characters
- β Reverse Functions: Added missing reverse functions for many transforms
- π 50+ New Languages: Added fantasy, ancient, and technical scripts
- π More Encodings/Ciphers: Base58, Base62, VigenΓ¨re, Rail Fence, Roman Numerals
- π Category Organization: Better organized transform categories
- π Enhanced Styling: New color schemes for each category
- π Improved Decoder: Better detection and fallback mechanisms
- Create unique text styles for stories
- Encode secret messages in plain sight
- Generate fantasy language text
- Learn about different writing systems
- Study cryptography and encoding
- Explore linguistic diversity
- Hide sensitive information
- Create steganographic messages
- Test encoding/decoding systems
- Create puzzles and games
- Generate unique usernames
- Add flair to social media posts
This project welcomes contributions! Areas for improvement:
- New Languages: Add more fictional or historical scripts
- Better Decoding: Improve universal decoder accuracy
- Performance: Optimize for very long texts
- Mobile: Enhance mobile experience
- Accessibility: Improve screen reader support
- Define the transform in
js/transforms.jsinside thetransformsobject:
new_transform_key: {
name: 'Human Friendly Name',
// Optional: map for character β character transforms
map: { /* 'a': 'Ξ±', ... */ },
// Required: encoding function
func: function(text) { /* return transformed */ },
// Optional but recommended: short, readable preview
preview: function(text) { return this.func((text||'').slice(0, 3)) + '...'; },
// Optional: reverse/decoder (enables universal decoder to use it directly)
reverse: function(text) { /* return decoded */ }
}- Add it to a category in
js/app.jsundertransformCategoriesso it shows in the UI, e.g.:
transformCategories: {
cipher: ['Caesar Cipher', 'ROT13', 'Your New Transform']
}- If your transform uses a custom script or style (not simple ASCII substitutions), ensure the universal decoder can detect it. Add pattern detection or reverse mapping in
universalDecodeinjs/app.js:
// Example: add to a check list
const customChecks = [{ name: 'Your New Transform', transform: 'your_key' }];
// build reverse map and try decoding if the input contains your characters-
If you want it considered by the Randomizer, add its key to
getRandomizableTransforms()injs/transforms.js. -
Test it in
test_transforms.html. Add a button and a simple test harness callingtestTransform('your_key').
Tips:
- Keep
preview()short to avoid UI overflow. - Prefer providing
reverse()so the universal decoder can decode it directly. - Unicode-heavy styles should provide a reverse map for accurate decoding.
This project is open source. See LICENSE file for details.
- J.R.R. Tolkien for Quenya and Tengwar
- Star Trek creators for Klingon language
- Star Wars creators for Aurebesh
- Bethesda for Dovahzul language
- Unicode Consortium for character standards
P4RS3LT0NGV3 - Because sometimes you need to speak in tongues that don't exist! πβ¨