Interactive Playground
Try Glin-Profanity live with real-time configuration and multi-language testing
Experience Glin-Profanity's powerful features in an interactive environment. Test different configurations, compare JavaScript and Python outputs, and explore all 23 supported languages with real-time feedback.
🎮 Try it Live
Open Glin-Profanity Playground - Test profanity detection with live configuration changes and instant results.
Interactive Demo Features
The playground provides a comprehensive testing environment with:
Real-Time Configuration
- Language Selection: Test any of the 23 supported languages
- Context-Aware Filtering: Toggle sentiment analysis on/off
- Severity Levels: Adjust MILD/MODERATE/SEVERE thresholds
- Obfuscation Detection: Enable fuzzy matching for disguised text
- Custom Settings: Modify fuzzy tolerance, confidence thresholds, and more
Cross-Platform Comparison
- Side-by-Side Results: Compare JavaScript and Python outputs
- API Parity Verification: Confirm identical behavior across platforms
- Performance Metrics: Response times and processing statistics
- Configuration Sync: Same settings applied to both implementations
Advanced Testing
- Batch Processing: Test multiple text samples simultaneously
- Context Analysis: See detailed sentiment scores and reasoning
- Dictionary Exploration: Browse words from different language dictionaries
- Export Results: Download test results as JSON or CSV
Getting Started
Access the Playground
Visit the interactive playground to start testing:
Primary Link: www.glincker.com/tools/glin-profanity
Features Available:
- ✅ No registration required
- ✅ Works on desktop and mobile
- ✅ Real-time results
- ✅ Shareable configuration URLs
- ✅ Export functionality
Browser Requirements:
- Modern browser with JavaScript enabled
- Internet connection for API calls
- Recommended: Chrome, Firefox, Safari, Edge
Change Configuration Live
The playground allows real-time configuration changes:
Language Settings:
- Single Language: Select English, Spanish, French, etc.
- Multiple Languages: Enable multi-language detection
- All Languages: Test against all 23 supported languages
Detection Settings:
- Context-Aware: Toggle sentiment analysis
- Severity Filter: Choose MILD, MODERATE, or SEVERE
- Obfuscation: Enable detection of disguised profanity (sh1t, f*ck)
- Fuzzy Tolerance: Adjust character similarity threshold
Advanced Options:
- Confidence Threshold: Set context analysis sensitivity
- Auto-Replace: Enable automatic profanity replacement
- Word Boundaries: Toggle exact word matching
- Custom Words: Add domain-specific profanity terms
Configuration Examples:
// Chat Moderation Preset
{
"languages": ["english", "spanish"],
"enableContextAware": true,
"severityFilter": "MODERATE",
"autoReplace": true,
"obfuscationDetection": true
}
// Content Publishing Preset
{
"languages": ["english"],
"enableContextAware": true,
"severityFilter": "EXACT",
"confidenceThreshold": 0.8,
"wordBoundaries": true
}
// Gaming Chat Preset
{
"languages": ["english"],
"severityFilter": "MILD",
"fuzzyTolerance": 0.6,
"customWhitelist": ["boss", "kill", "enemy"]
}Test Multiple Languages
Explore Glin-Profanity's comprehensive language support:
European Languages:
- English: "This is damn good stuff"
- Spanish: "Esto es una mierda terrible"
- French: "C'est de la merde"
- German: "Das ist verdammt gut"
- Italian: "Questo è davvero fottuto"
Asian Languages:
- Japanese: "これはクソだ"
- Korean: "이건 개같은 거야"
- Chinese: "这是狗屎"
- Hindi: "यह बकवास है"
Middle Eastern:
- Arabic: "هذا هراء"
- Persian: "این مزخرف است"
- Turkish: "Bu saçmalık"
Test Scenarios:
- Single Language: Test profanity in one language
- Multi-Language Mix: "This shit is mierda and vraiment nul"
- Code-Switching: Natural language mixing in conversation
- False Positives: Words that look profane but aren't ("Scunthorpe problem")
Language-Specific Features:
- Character Sets: Unicode support for all scripts
- Cultural Context: Region-specific profanity patterns
- Transliteration: Support for romanized text
- Dialect Variations: Regional profanity differences
Compare JavaScript vs Python Outputs
Verify cross-platform consistency with side-by-side comparison:
Identical Configuration:
// JavaScript Configuration
const config = {
languages: ['english'],
enableContextAware: true,
severityFilter: 'MODERATE',
fuzzyTolerance: 0.8
};# Python Configuration (identical functionality)
config = {
"languages": ["english"],
"enable_context_aware": True,
"severity_filter": "MODERATE",
"fuzzy_tolerance": 0.8
}Comparison Features:
- Response Validation: Verify identical profanity detection results
- Performance Metrics: Compare processing times
- API Parity: Confirm field names and structure match
- Edge Cases: Test boundary conditions and error handling
Expected Results:
// JavaScript Result
{
"containsProfanity": true,
"profaneWords": ["damn"],
"contextScore": 0.75,
"severityMap": {"damn": 1}
}
// Python Result (identical)
{
"contains_profanity": true,
"profane_words": ["damn"],
"context_score": 0.75,
"severity_map": {"damn": 1}
}Validation Checklist:
- ✅ Same profanity detection decisions
- ✅ Identical word lists and severity ratings
- ✅ Matching context scores and confidence levels
- ✅ Consistent error handling and edge cases
Advanced Testing Scenarios
Context-Aware Testing
// These should NOT be flagged with context-aware enabled
const positiveExamples = [
"This movie is fucking amazing!", // Entertainment praise
"That boss fight was badass!", // Gaming context
"This game is the bomb!", // Positive slang
"Holy shit, that's incredible!", // Excitement expression
"Damn good coffee here!" // Quality appreciation
];
// Test with different confidence thresholds
// Higher threshold = more permissive
// Lower threshold = more strict// These SHOULD be flagged regardless of context
const negativeExamples = [
"You fucking idiot!", // Personal attack
"Go to hell, you bastard!", // Hostile language
"That's such bullshit from you!", // Direct profanity
"You're a damn moron!", // Insult
"Shut the fuck up!" // Aggressive command
];Obfuscation Testing
const obfuscatedExamples = [
// Symbol substitution
"What the h3ll is this?", // 3 → e
"This is bull$hit!", // $ → s
"D@mn that was bad!", // @ → a
"You're so f*cking annoying!", // * removal
"Stop being a b!tch!", // ! → i
// Repeated characters
"Daaaamn that's good!", // Extra letters
"This is shiiiit!", // Letter repetition
"Holy helllll!", // Multiple repetition
// Mixed obfuscation
"What the f***ing h3ll?", // Multiple patterns
"This d@mn $h1t is annoying!" // Complex substitution
];Multi-Language Testing
const multiLanguageExamples = [
// English + Spanish
"This is shit and also mierda",
// English + French
"That's bullshit, vraiment putain",
// Code-switching (natural mixing)
"Je suis fucking tired aujourd'hui",
// Gaming context (English + terms)
"Kill that cabrón boss now!",
// False positives across languages
"I live in Scunthorpe, England", // Should NOT be flagged
"The assassin was very skilled" // Should NOT be flagged
];Playground Features in Detail
Real-Time Results Panel
The playground provides instant feedback with:
Detection Results:
- ✅/❌ Profanity status indicator
- 📝 List of flagged words with severity
- 🎯 Context analysis score and reasoning
- 📊 Confidence levels and match details
Performance Metrics:
- ⏱️ Processing time (JavaScript vs Python)
- 📈 API response times
- 💾 Memory usage estimates
- 🔄 Request/response size
Configuration State:
- 🔧 Current settings display
- 📋 Shareable configuration URLs
- 💾 Save/load preset configurations
- 📤 Export results as JSON/CSV
Interactive Controls
Text Input:
- 📝 Large text area for content testing
- 📁 File upload for batch processing
- 🎲 Random sample generator
- 📋 Preset test cases
Configuration Panel:
- 🌍 Language selector with search
- ⚙️ Toggle switches for main features
- 🎚️ Sliders for numerical settings
- 📋 Preset configuration templates
Results Display:
- 📊 Tabbed results (JS/Python comparison)
- 🎨 Syntax highlighting for JSON
- 📈 Visual confidence indicators
- 🔗 Deep-link to specific configurations
Offline Fallback
If the online playground is unavailable, you can run a local version:
Offline Alternative: If the playground link is not accessible, you can create a local testing environment using the examples from our documentation.
Local Playground Setup
# Clone the example repository
git clone https://github.com/GLINR/glin-profanity-playground.git
cd glin-profanity-playground
# Install dependencies
npm install
# Start local development server
npm run dev
# Open browser to http://localhost:3000Minimal Testing Script
<!DOCTYPE html>
<html>
<head>
<title>Glin-Profanity Local Test</title>
<script src="https://unpkg.com/glin-profanity@latest/dist/glin-profanity.js"></script>
</head>
<body>
<h1>Glin-Profanity Test</h1>
<textarea id="input" placeholder="Enter text to test..."></textarea>
<button onclick="checkText()">Check Profanity</button>
<div id="result"></div>
<script>
function checkText() {
const text = document.getElementById('input').value;
const result = GlinProfanity.checkProfanity(text, {
languages: ['english'],
enableContextAware: true
});
document.getElementById('result').innerHTML =
'<pre>' + JSON.stringify(result, null, 2) + '</pre>';
}
</script>
</body>
</html>What's Next?
🚀 Quick Start
Get started with Glin-Profanity in your project
⚙️ Configuration
Learn about all configuration options from the playground
🧠 Context-Aware Filtering
Understand how sentiment analysis works
🔧 API Reference
Complete documentation for all methods and options
Pro Tip: Use the playground to validate your configuration before implementing it in production. The shareable URLs make it easy to collaborate with your team on optimal settings.