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! πβ¨