Skip to content

din4e/P4RS3LT0NGV3

Β 
Β 

Repository files navigation

🐍 P4RS3LT0NGV3 - Universal Text Translator

A powerful web-based text transformation and steganography tool with 159 built-in text transforms spanning encodings, classical and modern ciphers, Unicode styles, formatting, and niche alphabets. Think of it as a universal translator for ALL alphabets and writing systems!

The app is a static site: run npm run build (after npm install), then open dist/index.html in your browserβ€”no local server required. Alternatively, you can run it as a local app over HTTP with npm start or npx serve dist -l 8080 (see Getting Started below). Core transforms, decoder, and steganography work without calling the cloud; features that use OpenRouter need network access and an API key (see below).

✨ Features

πŸ” Steganography

  • Emoji Steganography: Hide messages within emojis using variation selectors (VS15/VS16 and related options; configurable bit order in Advanced Settings)
  • Invisible Text: Encode text using Unicode Tags block (visually invisible)
  • Whitespace & zero-width steganography: Available as transforms for research-style payloads (see transform categories)

🌍 Text Transformations

Categories match the Transform tab and the folders under src/transformers/ (each transformer’s name as shown in the UI). Short descriptions explain what each transform does.

Ancient

  • Elder Futhark - Germanic Elder Futhark runes
  • Hieroglyphics - Egyptian hieroglyph-style mapping
  • Ogham (Celtic) - Celtic Ogham tree alphabet
  • Roman Numerals - Arabic numerals ↔ Roman numerals

Case

  • Alternating Case - Alternate uppercase and lowercase per letter (first letter upper or lower)
  • camelCase - lowerCamelCase for identifiers
  • kebab-case - kebab-case for slugs and identifiers
  • Random Case - Random casing per character
  • Sentence Case - Capitalize the first letter of each sentence
  • snake_case - snake_case for identifiers
  • Title Case - Capitalize each word

Cipher

  • ADFGX Cipher - WWI ADFGVX-style polybius + column transposition
  • Affine Cipher - Affine substitution (ax + b mod 26)
  • Atbash Cipher - Reverse-alphabet substitution (A↔Z)
  • Autokey Cipher - Key stream mixed with plaintext (autokey)
  • Baconian Cipher - Five-letter groups hiding A/B (Bacon biliteral)
  • Beaufort Cipher - Beaufort key-table polyalphabetic cipher
  • Bifid Cipher - Polybius square + row/column interleaving
  • Caesar Cipher - Classic alphabet shift (configurable)
  • Columnar Transposition - Columnar transposition with a keyword
  • Four-Square Cipher - Four 5Γ—5 squares; digraph substitution
  • Gronsfeld Cipher - VigenΓ¨re family with numeric key
  • Hill Cipher - Matrix-based multi-letter substitution
  • Homophonic Cipher - Multiple ciphertext symbols per plaintext letter
  • Nihilist Cipher - Keyed Polybius + additive encryption
  • Pigpen Cipher - Masonic / pigpen grid symbols
  • Playfair Cipher - Digraph cipher on a 5Γ—5 square
  • Polybius Square - Letter ↔ grid coordinates
  • Porta Cipher - Porta table polyalphabetic cipher
  • Rail Fence - Zig-zag rail-fence transposition
  • ROT128 - UTF-16 code unit rotation by 128
  • ROT13 - Rotate Latin letters by 13 places
  • ROT18 - Rotate printable ASCII (33–126) by 18
  • ROT47 - Rotate printable ASCII (33–126) by 47
  • ROT5 - Rotate digits 0–9 by 5
  • ROT8000 - Plane-0 Unicode BMP rotation cipher
  • Scytale Cipher - Wrap-around strip (scytale) transposition
  • Trifid Cipher - Three Polybius cubes + trifid grouping
  • Two-Square Cipher - Digraph cipher with two Playfair squares
  • VigenΓ¨re Cipher - Polyalphabetic cipher with repeating keyword
  • XOR Cipher - XOR with a repeating key

Encoding

  • ASCII85 - Ascii85 / Adobe-style base-85 encoding
  • Base122 - Binary β†’ 122 printable ASCII characters
  • Base32 - RFC 4648 Base32
  • Base36 - Base36 (0–9, A–Z)
  • Base45 - Base45 byte encoding
  • Base58 - Bitcoin-style Base58 (no 0/O/I/l)
  • Base62 - Base62 (0–9, A–Z, a–z)
  • Base64 - Standard Base64
  • Base64 URL - Base64url (URL-safe alphabet)
  • Base91 - basE91 / Ascii91 encoding
  • Baudot Code (ITA2) - Five-bit telegraph / ITA2
  • Binary Coded Decimal - Decimal digits as BCD nibbles
  • Binary - Text bytes ↔ binary strings
  • EBCDIC - EBCDIC byte encoding
  • Emoji Encoding - Payload encoded with emoji
  • Gray Code - Binary Gray code
  • Hexadecimal - Hex encode/decode bytes
  • HTML Entities - HTML entity escape / unescape
  • Invisible Text - Unicode Tags / invisible carrier encoding
  • Quoted-Printable - MIME quoted-printable
  • Unicode Code Points - Characters ↔ U+XXXX code points
  • URL Encode - application/x-www-form-urlencoded
  • Uuencoding - Classic uuencode / uudecode
  • YEnc - yEnc line-oriented binary encoding
  • Z85 - ZeroMQ Z85 encoding

Fantasy

  • Aurebesh (Star Wars) - Galactic Basic Aurebesh alphabet
  • Dovahzul (Dragon) - Skyrim Dovahzul transliteration
  • Klingon - Klingon transliteration
  • Quenya (Tolkien Elvish) - Tolkien Quenya mapping
  • Tengwar Script - Elvish Tengwar script

Format

  • Bitwise NOT - UTF-8 bytes NOT'd per byte; encode output is hex (decode pastes hex back to text)
  • Boustrophedon - Serpentine / alternating line direction
  • Capitalize Words - Capitalize the first letter of each word
  • Indent - Add leading spaces to each line (configurable width)
  • Javanais - French β€œjavanais” vowel-insertion game
  • Latin Gibberish - Latin-flavored pseudo-text
  • Leetspeak - 1337-style character substitutions
  • Letters Only - Keep letters; strip other characters
  • Letters & Numbers Only - Alphanumeric only
  • Line Numbers - Prefix lines with numbers (start and column width configurable)
  • Louchebem - French argot (loucherbem-style)
  • Lowercase All - Lowercase entire text
  • Mirror Digits - Mirror digits 0–9 visually
  • Numbers Only - Digits only
  • Pig Latin - English Pig Latin
  • QWERTY Right Shift - Map keys to the key to the right on QWERTY
  • Remove Accents - Strip diacritics / combining marks
  • Remove Consonants - Remove consonant letters
  • Remove Duplicates - Remove duplicate lines
  • Remove Extra Spaces - Collapse runs of spaces
  • Remove HTML Tags - Strip HTML/XML tags
  • Remove Newlines - Remove line breaks
  • Remove Numbers - Remove digit characters
  • Remove Punctuation - Remove punctuation
  • Remove Tabs - Remove tab characters
  • Remove Zero Width - Strip zero-width characters
  • Reverse Words - Reverse order of words
  • Reverse Text - Reverse character order
  • Shuffle Characters - Shuffle characters (random order)
  • Shuffle Words - Shuffle word order
  • Spaces Remover - Remove space characters
  • Text Justify - Pad each line to a fixed width (left, right, or center); not word-spacing justify
  • Uppercase All - Uppercase entire text
  • Toggle Case - Swap case of each letter
  • Whitespace Steganography - Hide bits in whitespace patterns
  • Word Wrap - Break long lines at spaces so each line fits a maximum width
  • Zero-Width Steganography - Hide data with zero-width characters

Special

  • Random Mix - Pick random transforms and chain them

Technical

  • A1Z26 - A=1 … Z=26 letter numbering
  • Braille - Unicode Braille patterns
  • Brainfuck - Text ↔ Brainfuck program
  • ICAO Spelling Alphabet - ICAO radiotelephony spelling
  • ITU Spelling Alphabet - ITU phonetic / spelling alphabet
  • Maritime Signal Flags - International maritime signal flags
  • Morse Code - International Morse code
  • NATO Phonetic - NATO phonetic alphabet
  • Semaphore Flags - Flag semaphore arm positions
  • Tap Code - Polybius / tap / prison code

Unicode

  • Bold Italic - Mathematical sans-serif bold italic
  • Bold - Mathematical bold
  • Bubble - Circled / β€œbubble” letters
  • Chemical Symbols - Chemical element symbols
  • Circled - Circled Unicode letters
  • Cursive - Mathematical script / cursive
  • Cyrillic Stylized - Latin β†’ Cyrillic lookalike letters
  • Dashed Underline - Combining dashed underline
  • Dotted Underline - Combining dotted underline
  • Double-Struck - Mathematical double-struck
  • Fraktur - Mathematical Fraktur / Gothic
  • Full Width - Fullwidth Latin (and related) forms
  • Greek Letters - Greek letter replacements
  • Hiragana - Rough Romaji β†’ Hiragana
  • Italic - Mathematical italic
  • Katakana - Rough Romaji β†’ Katakana
  • Mathematical Notation - Mathematical alphanumeric symbols
  • Medieval - Medieval Unicode letterforms
  • Mirror Text - Left–right mirrored characters
  • Monospace - Mathematical monospace
  • Negative Squared - Negative circled / squared letters
  • Overline - Overline combining marks
  • Parenthesized - Parenthesized Latin letters
  • Regional Indicator Letters - Regional-indicator flag letters
  • Small Caps - Small capitals (Unicode)
  • Squared - Squared / enclosed alphanumeric
  • Strikethrough - Strikethrough combining characters
  • Subscript - Unicode subscripts
  • Superscript - Unicode superscripts
  • Underline - Underline combining characters
  • Upside Down - Upside-down Unicode letters
  • Vaporwave - Fullwidth + aesthetic spacing
  • Wavy Underline - Wavy underline combining marks
  • Wide Spacing - Insert wide spaces between characters
  • Wingdings - Wingdings-style symbol mapping
  • Zalgo - Stacked combining marks (β€œglitch” text)

Visual

  • Disemvowel - Remove vowels (speech game)
  • Emoji Speak - Emoji-heavy β€œspeak” transform
  • RΓΆvarsprΓ₯ket - Swedish consonant-doubling game
  • Ubbi Dubbi - Insert β€œub” before vowel sounds

πŸ› οΈ Tools (tabs)

Tabs appear in UI order below. OpenRouter (optional or required per tool) uses the key in Advanced Settings β€” see OpenRouter API Key Setup below.

πŸ”€ Transform

  • 159 Transforms: Encodings, ciphers, Unicode styles, formats, and more (full catalog above).
  • Categories: Grouped sections you can reorder; quick-jump legend; randomizer last.
  • Favorites & last used: Pin transforms and recall recent picks.
  • Per-transform options: Gear icon where a transform exposes settings.
  • Keyboard shortcut: T (shown in the tab title).

🌐 AI Translation (via OpenRouter)

Lives on the Transform tab β€” not a separate tab.

  • 20+ Languages: Major world languages (Spanish, French, Chinese, Japanese, Korean, etc.)
  • Dead & Exotic Languages: Latin, Sanskrit, Ancient Greek, Sumerian, Akkadian, Old English, and more
  • Custom Languages: Add any language on-the-fly
  • Multiple Models: Gemma 3, Gemini 2.5 Flash, TranslateGemma (purpose-built translation models)
  • TranslateGemma Prompt Format: Uses Google's optimized prompt template for high-quality translation
  • Auto-Fallback: If a model is unavailable, automatically falls back to Gemma 3 27B

πŸ” Decoder (Universal Decoder)

  • Smart detection: Runs format detectors and decode paths for supported transforms.
  • Priority matching: When a transform is active, decoding prefers that format first.
  • Fallback: Tries other decoders if the primary guess fails.
  • Real-time: Updates as you type.
  • Script & language hints: Unicode script ranges and Latin word-marker heuristics for common languages.
  • AI translate to English (optional, OpenRouter): When text looks foreign, optional one-shot translate to English.
  • Keyboard shortcut: D.

πŸ˜€ Emoji (Steganography)

  • Emoji carriers: Hide data using variation selectors and supported emoji carriers; pick from the emoji grid.
  • Invisible text: Switch to Unicode Tags–style invisible encoding where available.
  • Encode & decode: Separate flows for hiding and recovering text.
  • Advanced Settings: Bit order, VS choices, and other steganography tuning (sliders icon).
  • Keyboard shortcut: H (shown in the tab title).

πŸ’£ Tokenade

  • Token bomb builder: Depth, breadth, repeats, separators (e.g. ZWSP), variation selectors, noise.
  • Carriers & payloads: Emoji carriers, text payloads, combining options.
  • Safety: Warns when estimated output crosses a danger token threshold.

πŸ§ͺ Mutation Lab

  • Batch mutations: Generate many variants from one input (count configurable).
  • Seed: Optional deterministic runs.
  • Toggles: Random mix, zero-width, Unicode noise, Zalgo, whitespace, casing, encode/shuffle.
  • Random Mix: Can chain the project’s random transform mixer when enabled.

πŸ“Š Tokenizer

  • Engines: UTF-8 bytes, words, or GPT BPE (cl100k, o200k, p50k, r50k) via gpt-tokenizer (CDN).
  • Visualization: Token list with IDs/pieces; character and word counts.
  • Live updates: Re-tokenizes when input or engine changes.

↔️ Bijection

  • Custom mappings: Character-to-number (and related) β€œalphapr”-style maps for research payloads.
  • Controls: Mapping type, budget, optional examples.
  • Output: Generated mappings and payloads ready to copy.

βœ‚οΈ Splitter

  • Split modes: By chunk size, word, sentence, line, regex pattern, or token count (GPT tokenizer).
  • Transform chain: Optionally run transforms on each piece.
  • Wrapping: Start/end templates; {n} iterator marker; single-line vs multiline copy.

πŸ’¬ Gibberish

  • Dictionary mode: Seeded random gibberish over a configurable character set.
  • Removal mode: Random or specific letter removal with batch variations and min/max strip lengths.

πŸͺ„ PromptCraft (via OpenRouter)

  • 9 Mutation Strategies: Rephrase, Obfuscate, Role-Play Wrap, Multi-Language, Expand, Compress, Metaphor, Fragment, and Custom
  • 48+ Models: Frontier (Claude, GPT, Gemini, Grok), Reasoning (o3, o4, DeepSeek R1), Fast (Haiku, Mini), Code-specialized, Open Source (Llama, Qwen), and Search/Research models
  • Parallel Variants: Generate 1-10 variants simultaneously with diverse temperature settings
  • Copy & iterate: Copy any variant or feed it back as input for iterative refinement

πŸ€– Anti-Classifier (via OpenRouter)

  • Purpose: Syntactic / paraphrase-style rewrites for research-style prompts.
  • Controls: Model, temperature, max tokens.
  • Same key: Uses the same OpenRouter API key as Translation and PromptCraft.

πŸ“± User Experience

  • 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
  • Side panels: Glitch token browser (optional data), end-sequence / delimiter strings for research, and Advanced Settings (OpenRouter key, steganography tuning)

πŸ”‘ OpenRouter API Key Setup

AI Translation, PromptCraft, and Anti-Classifier require an OpenRouter API key. Decoder’s optional β€œtranslate to English” also uses OpenRouter when enabled.

  1. Create an account at openrouter.ai
  2. Generate an API key (starts with sk-or-...)
  3. In P4RS3LT0NGV3, click the sliders icon (top-right) to open Advanced Settings
  4. Paste your key and click Save Key
  5. Your key is stored locally in your browser only β€” never sent anywhere except OpenRouter

Tip: Some models (like Gemma 3) are free on OpenRouter. Frontier models (Claude, GPT, Gemini Pro) require credits.

πŸš€ Getting Started

Quick Start (local)

  1. npm install then npm run build (generates the dist/ folder β€” it is not checked into git; you must build after clone or source changes)
  2. Open dist/index.html in Chrome, Firefox, Safari, or another browser (double-click the file or use File β†’ Open).

Alternative β€” run as a local app (npm / npx): From the project root, after npm install and npm run build, use npm start (runs serve on port 8080) or npx serve dist -l 8080. Then open http://localhost:8080 β€” same UI, stable URL you can bookmark. npm run preview runs a full npm run build and then serves dist/ in one step.

Agent CLI

This repo also ships a Python CLI that reuses the existing Node transform runtime without changing the static-site workflow.

uv run p4rs3lt0ngv3-cli list
uv run p4rs3lt0ngv3-cli inspect caesar --json
uv run p4rs3lt0ngv3-cli encode --transform base64 --text "Hello World"
uv run p4rs3lt0ngv3-cli decode --transform base64 --text "SGVsbG8gV29ybGQ="
uv run p4rs3lt0ngv3-cli auto-decode --text "SGVsbG8="
uv run p4rs3lt0ngv3-cli agent "encode 'Attack at dawn' as caesar shift 5"
uv run p4rs3lt0ngv3-cli /base64 Hello
uv run p4rs3lt0ngv3-cli /base64 --decode SGVsbG8=
uv run p4rs3lt0ngv3-cli /caesar --shift 5 "Attack at dawn"

Notes:

  • The CLI is managed with uv via pyproject.toml.
  • It shells into Node to execute the canonical transforms under src/transformers/.
  • Existing web build and Node test flows remain unchanged.

Development Setup

# Install dependencies
npm install

# Build all assets (required before use). Order matches package.json:
# build:tools β†’ build:copy β†’ build:index β†’ build:transforms β†’ build:emoji β†’ build:templates
npm run build

# Or build individual components:
npm run build:tools        # Auto-discover tools, inject script tags into dist/index.html
npm run build:copy         # Copy static files to dist/
npm run build:index        # Generate src/transformers/index.js (ES module index)
npm run build:transforms   # Bundle all transformers to dist/js/bundles/transforms-bundle.js
npm run build:emoji        # Generate emoji data to dist/js/data/
npm run build:templates    # Inject tool HTML templates into dist/index.html

# Run tests
npm test                   # Run universal decoder tests
npm run test:universal     # Same as above
npm run test:steg          # Test steganography options
npm run test:all           # Universal + steganography tests

# Optional: serve dist/ over HTTP instead of opening dist/index.html directly
npm start                  # http://localhost:8080
npm run preview            # npm run build, then serve dist/

Documentation & maintainer notes

Doc Purpose
CONTRIBUTING.md Adding transformers, tools, tests
docs/TOOL-SYSTEM.md Tool templates, build injection, shared UI classes
build/README.md What each build:* script does
templates/README.md Editing tool HTML templates

Keeping the transform list in this README in sync: when you add or rename a transformer, add a one-line description to DESCRIPTIONS in build/readme-transform-section.js, run node build/readme-transform-section.js, and replace the Text Transformations section here (details in src/transformers/README.md).

πŸ› οΈ Technical Details

Architecture

  • Frontend: Vue.js 2.6 with modern CSS (staying on Vue 2)
  • Tool System: Modular tool registry with build-time template injection
  • Encoding: UTF-8 with proper Unicode handling
  • Steganography: Variation selectors and Tags Unicode block
  • Transforms: Individual transformer modules live under src/transformers/ (159; the bundle is generated by npm run build:transforms)
  • Build Process:
    • npm run build writes the runnable app under dist/ (ignored by git in most setups)
    • Transformers are bundled from src/transformers/ to dist/js/bundles/transforms-bundle.js
    • Tool templates are injected from templates/ into dist/index.html
    • Emoji data is generated to dist/js/data/

Browser Support

  • Chrome/Edge 80+
  • Firefox 75+
  • Safari 13+
  • Mobile browsers (iOS 13+, Android 8+)

Performance

  • Real-time Processing: < 16ms for most transforms
  • Memory Efficient: Streams large text without loading into memory
  • Optimized Rendering: Efficient DOM updates with Vue.js

πŸ”§ Recent Fixes & Improvements

Fixed Issues

  • βœ… Duplicate Transform: Removed duplicate invisible_text transform
  • βœ… 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

New Features

  • πŸ†• AI Translation: Translate to 20+ languages (including dead/exotic) via OpenRouter using TranslateGemma prompt format
  • πŸ†• PromptCraft Tool: AI-powered prompt mutation with 9 strategies and 48+ models
  • πŸ†• OpenRouter Integration: Unified API key management for all AI-powered features
  • πŸ†• 159 Transformations: Full catalog of encodings, ciphers, Unicode styles, fantasy and ancient scripts, and technical codes (see README transform list)
  • πŸ†• 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

🌟 Use Cases

Creative Writing

  • Create unique text styles for stories
  • Encode secret messages in plain sight
  • Generate fantasy language text

Education

  • Learn about different writing systems
  • Study cryptography and encoding
  • Explore linguistic diversity

Security

  • Hide sensitive information
  • Create steganographic messages
  • Test encoding/decoding systems

Entertainment

  • Create puzzles and games
  • Generate unique usernames
  • Add flair to social media posts

🀝 Contributing

This project welcomes contributions! See CONTRIBUTING.md for detailed guidelines.

Quick Start:

  • Adding a transformer? See src/transformers/ directory structure
  • Adding a new tool/feature? See CONTRIBUTING.md β†’ "Adding a New Tool"
  • Adding utilities? See CONTRIBUTING.md β†’ "Adding a New Utility Function"
  • Editing tool templates? See templates/README.md

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

πŸ“„ License

This project is open source. See LICENSE file for details.

πŸ™ Acknowledgments

  • 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! πŸ‰βœ¨

About

universal text transformation, translation, mutation, encoding/decoding, and promptcrafting

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 42.3%
  • TypeScript 40.1%
  • HTML 7.1%
  • CSS 6.5%
  • Python 1.7%
  • Go 1.6%
  • Other 0.7%