{"id":452,"date":"2026-03-06T00:00:29","date_gmt":"2026-03-06T00:00:29","guid":{"rendered":"https:\/\/onlinetexteditor.io\/?page_id=452"},"modified":"2026-04-06T05:17:24","modified_gmt":"2026-04-06T05:17:24","slug":"weird-text-generator","status":"publish","type":"page","link":"https:\/\/onlinetexteditor.io\/fr\/weird-text-generator\/","title":{"rendered":"Weird Text Generator \u2013 Transform Instantly"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; theme_builder_area=&#8221;post_content&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<div class=\"glass-weird-wrapper\">\r\n    <!-- Inner wrapper constrains width while background stays 100% -->\r\n    <div class=\"glass-tool-inner\">\r\n        \r\n        <!-- Header Section -->\r\n        <header class=\"glass-header\">\r\n            <div class=\"header-icon-wrap\">\r\n                <svg width=\"32\" height=\"32\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M12 2a10 10 0 1 0 10 10H12V2z\"><\/path><path d=\"M12 12 2.1 7.1\"><\/path><path d=\"M12 12l9.9 4.9\"><\/path><\/svg>\r\n            <\/div>\r\n            <h1>Weird Text Generator - Transform Instantly<\/h1>\r\n            <p>Make your text elegantly bizarre. Over 300 highly unusual and weird variations crafted instantly.<\/p>\r\n        <\/header>\r\n\r\n        <!-- Main Tool Component -->\r\n        <main class=\"glass-tool-container\">\r\n            \r\n            <!-- Glassmorphic Input & Toolbar -->\r\n            <div class=\"glass-input-panel\">\r\n                <textarea id=\"weirdInput\" class=\"glass-textarea\" placeholder=\"Type normal text here to make it weird...\" aria-label=\"Input text\"><\/textarea>\r\n                \r\n                <div class=\"glass-actions-bar\">\r\n                    <div class=\"glass-action-group\">\r\n                        <button id=\"btnPasteWeird\" class=\"glass-btn\" title=\"Paste text from clipboard\">\r\n                            <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"><\/path><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"><\/rect><\/svg>\r\n                            Paste\r\n                        <\/button>\r\n                        <button id=\"btnSelectAllWeird\" class=\"glass-btn\" title=\"Select all text in input\">\r\n                            <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M14 3.269C14 2.568 14.568 2 15.269 2H20a2 2 0 0 1 2 2v4.731C22 9.432 21.432 10 20.731 10H16a2 2 0 0 1-2-2V3.269z\"><\/path><path d=\"M3.269 14C2.568 14 2 14.568 2 15.269V20a2 2 0 0 0 2 2h4.731C9.432 22 10 21.432 10 20.731V16a2 2 0 0 0-2-2H3.269z\"><\/path><\/svg>\r\n                            Select All\r\n                        <\/button>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"glass-action-group\">\r\n                        <button id=\"btnCopyInputWeird\" class=\"glass-btn btn-highlight\" title=\"Copy the input text\">\r\n                            <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"><\/rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"><\/path><\/svg>\r\n                            Copy Original\r\n                        <\/button>\r\n                        <button id=\"btnClearWeird\" class=\"glass-btn btn-danger\" title=\"Clear all text\">\r\n                            <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><polyline points=\"3 6 5 6 21 6\"><\/polyline><path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"><\/path><line x1=\"10\" y1=\"11\" x2=\"10\" y2=\"17\"><\/line><line x1=\"14\" y1=\"11\" x2=\"14\" y2=\"17\"><\/line><\/svg>\r\n                            Clear\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Output Section Separator -->\r\n            <div class=\"glass-output-section\">\r\n                <h2 class=\"section-title\">Generated Variations<\/h2>\r\n                \r\n                <!-- Output Grid (Strictly 2 Cards Per Line) -->\r\n                <div id=\"weirdOutputGrid\" class=\"glass-output-grid\">\r\n                    <!-- JavaScript will populate exactly 300 cards here -->\r\n                <\/div>\r\n\r\n                <!-- Load More Section (Loads 3 Rows \/ 6 Cards) -->\r\n                <div class=\"glass-load-more-container\">\r\n                    <button id=\"btnLoadMoreWeird\" class=\"glass-load-more-btn\">\r\n                        <svg width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        Load More Variations\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/main>\r\n    <\/div>\r\n\r\n    <style>\r\n        \/* GLASSMORPHISM DESIGN VARIABLES *\/\r\n        :root {\r\n            \/* Kept the exact background color from demo *\/\r\n            --tool-bg: linear-gradient(135deg, #e0c3fc 0%, #8ec5fc 100%);\r\n            \r\n            \/* Glass UI Colors *\/\r\n            --glass-base: rgba(255, 255, 255, 0.45);\r\n            --glass-card: rgba(255, 255, 255, 0.55);\r\n            --glass-card-hover: rgba(255, 255, 255, 0.75);\r\n            --glass-border: rgba(255, 255, 255, 0.8);\r\n            --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);\r\n            \r\n            \/* Text & Accents *\/\r\n            --text-primary: #1e293b;\r\n            --text-secondary: #475569;\r\n            --accent-primary: #8b5cf6;\r\n            --danger-bg: rgba(255, 228, 230, 0.8);\r\n            --danger-text: #e11d48;\r\n            --success-bg: rgba(220, 252, 231, 0.9);\r\n            --success-text: #16a34a;\r\n\r\n            --radius-container: 24px;\r\n            --radius-card: 16px;\r\n            --radius-btn: 12px;\r\n            \r\n            --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\r\n        }\r\n\r\n        .glass-weird-wrapper {\r\n            width: 100%;\r\n            min-height: 100vh;\r\n            background: var(--tool-bg);\r\n            font-family: 'Inter', system-ui, -apple-system, sans-serif;\r\n            color: var(--text-primary);\r\n            line-height: 1.6;\r\n            padding: 60px 0;\r\n            box-sizing: border-box;\r\n            position: relative;\r\n        }\r\n\r\n        .glass-weird-wrapper * {\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .glass-tool-inner {\r\n            max-width: 1100px;\r\n            margin: 0 auto;\r\n            padding: 0 20px;\r\n        }\r\n\r\n        \/* HEADER UI *\/\r\n        .glass-header {\r\n            text-align: center;\r\n            margin-bottom: 45px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n\r\n        .header-icon-wrap {\r\n            background: var(--glass-card);\r\n            backdrop-filter: blur(10px);\r\n            -webkit-backdrop-filter: blur(10px);\r\n            border: 1px solid var(--glass-border);\r\n            width: 64px;\r\n            height: 64px;\r\n            border-radius: 50%;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n            color: var(--accent-primary);\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.05);\r\n        }\r\n\r\n        .glass-header h1 {\r\n            font-size: clamp(2.2rem, 5vw, 3.5rem);\r\n            color: #0f172a;\r\n            margin: 0 0 8px 0;\r\n            font-weight: 800;\r\n            letter-spacing: -0.5px;\r\n        }\r\n\r\n        .glass-header p {\r\n            font-size: 1.15rem;\r\n            color: #334155;\r\n            max-width: 650px;\r\n            margin: 0;\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* TOOL CONTAINER (FROSTED GLASS) *\/\r\n        .glass-tool-container {\r\n            background: var(--glass-base);\r\n            border-radius: var(--radius-container);\r\n            padding: 35px;\r\n            box-shadow: var(--glass-shadow);\r\n            backdrop-filter: blur(16px);\r\n            -webkit-backdrop-filter: blur(16px);\r\n            border: 1px solid rgba(255, 255, 255, 0.6);\r\n        }\r\n\r\n        \/* INPUT PANEL *\/\r\n        .glass-input-panel {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 20px;\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .glass-textarea {\r\n            width: 100%;\r\n            height: 160px;\r\n            background: rgba(255, 255, 255, 0.6);\r\n            border: 1px solid var(--glass-border);\r\n            border-radius: var(--radius-card);\r\n            box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.02);\r\n            padding: 25px;\r\n            font-size: 1.3rem;\r\n            font-weight: 500;\r\n            resize: vertical;\r\n            outline: none;\r\n            color: var(--text-primary);\r\n            font-family: inherit;\r\n            transition: var(--transition);\r\n            min-height: 120px;\r\n            max-height: 400px;\r\n            overflow-y: auto;\r\n        }\r\n\r\n        .glass-textarea::placeholder {\r\n            color: #64748b;\r\n        }\r\n\r\n        .glass-textarea:focus {\r\n            background: #ffffff;\r\n            border-color: var(--accent-primary);\r\n            box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.2);\r\n        }\r\n\r\n        \/* ACTIONS BAR *\/\r\n        .glass-actions-bar {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            flex-wrap: wrap;\r\n            gap: 15px;\r\n        }\r\n\r\n        .glass-action-group {\r\n            display: flex;\r\n            gap: 12px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .glass-btn {\r\n            background: rgba(255, 255, 255, 0.7);\r\n            border: 1px solid var(--glass-border);\r\n            color: var(--text-primary);\r\n            padding: 10px 18px;\r\n            border-radius: var(--radius-btn);\r\n            font-weight: 600;\r\n            font-size: 0.95rem;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            transition: var(--transition);\r\n            backdrop-filter: blur(5px);\r\n            box-shadow: 0 2px 5px rgba(0,0,0,0.02);\r\n        }\r\n\r\n        .glass-btn:hover {\r\n            background: #ffffff;\r\n            color: var(--accent-primary);\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 6px 15px rgba(0,0,0,0.05);\r\n        }\r\n\r\n        .btn-danger {\r\n            color: var(--danger-text);\r\n        }\r\n\r\n        .btn-danger:hover {\r\n            background: var(--danger-bg);\r\n            border-color: rgba(255, 255, 255, 1);\r\n            color: var(--danger-text);\r\n        }\r\n\r\n        .btn-highlight {\r\n            background: var(--accent-primary);\r\n            color: #ffffff;\r\n            border-color: var(--accent-primary);\r\n        }\r\n\r\n        .btn-highlight:hover {\r\n            background: #7c3aed;\r\n            color: #ffffff;\r\n            box-shadow: 0 6px 15px rgba(139, 92, 246, 0.3);\r\n        }\r\n\r\n        \/* OUTPUT SECTION SEPARATOR *\/\r\n        .glass-output-section {\r\n            margin-top: 40px;\r\n            padding-top: 30px;\r\n            border-top: 1px solid rgba(255, 255, 255, 0.3);\r\n        }\r\n\r\n        .section-title {\r\n            text-align: center;\r\n            font-size: 1.8rem;\r\n            font-weight: 700;\r\n            color: var(--text-primary);\r\n            margin-bottom: 30px;\r\n            letter-spacing: -0.5px;\r\n        }\r\n\r\n        \/* OUTPUT GRID - STRICTLY 2 CARDS PER LINE ON DESKTOP *\/\r\n        .glass-output-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(2, 1fr); \/* FORCES 2 CARDS PER LINE *\/\r\n            gap: 20px;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        \/* GLASS CARD (Wide Horizontal Layout) *\/\r\n        .glass-card {\r\n            background: var(--glass-card);\r\n            border: 1px solid var(--glass-border);\r\n            border-radius: var(--radius-card);\r\n            padding: 20px 24px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n            gap: 15px;\r\n            transition: var(--transition);\r\n            backdrop-filter: blur(10px);\r\n            -webkit-backdrop-filter: blur(10px);\r\n            min-height: 80px;\r\n            max-height: 120px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .glass-card:hover {\r\n            transform: translateY(-4px);\r\n            background: var(--glass-card-hover);\r\n            box-shadow: 0 12px 30px rgba(31, 38, 135, 0.1);\r\n            border-color: #ffffff;\r\n        }\r\n\r\n        .card-data-left {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 8px;\r\n            flex: 1;\r\n            min-width: 0; \/* allows text truncation *\/\r\n        }\r\n\r\n        .glass-card-badge {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 6px;\r\n            font-size: 0.75rem;\r\n            color: var(--text-secondary);\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n        }\r\n\r\n        .glass-card-badge span {\r\n            background: rgba(139, 92, 246, 0.15);\r\n            color: var(--accent-primary);\r\n            padding: 2px 8px;\r\n            border-radius: 20px;\r\n        }\r\n\r\n        .glass-output-text {\r\n            font-size: 1.6rem;\r\n            font-weight: 500;\r\n            color: var(--text-primary);\r\n            white-space: normal;\r\n            overflow-wrap: break-word;\r\n            word-break: break-word;\r\n            user-select: all;\r\n            width: 100%;\r\n            max-width: 100%;\r\n            display: block;\r\n            line-height: 1.2;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 2;\r\n            -webkit-box-orient: vertical;\r\n            line-clamp: 2;\r\n        }\r\n\r\n        \/* Circular Elegant Copy Button *\/\r\n        .glass-copy-btn {\r\n            background: #ffffff;\r\n            border: 1px solid rgba(226, 232, 240, 0.8);\r\n            color: var(--text-primary);\r\n            width: 48px;\r\n            height: 48px;\r\n            border-radius: 50%;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            cursor: pointer;\r\n            transition: var(--transition);\r\n            flex-shrink: 0;\r\n            box-shadow: 0 2px 8px rgba(0,0,0,0.04);\r\n        }\r\n\r\n        .glass-copy-btn:hover {\r\n            background: var(--accent-primary);\r\n            color: #ffffff;\r\n            border-color: var(--accent-primary);\r\n            transform: scale(1.05) rotate(5deg);\r\n            box-shadow: 0 8px 20px rgba(139, 92, 246, 0.3);\r\n        }\r\n\r\n        .glass-copy-btn.copied-state {\r\n            background: var(--success-bg);\r\n            color: var(--success-text);\r\n            border-color: #86efac;\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        \/* Load More Footer *\/\r\n        .glass-load-more-container {\r\n            display: flex;\r\n            justify-content: center;\r\n            padding-top: 15px;\r\n        }\r\n\r\n        .glass-load-more-btn {\r\n            background: rgba(255, 255, 255, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid var(--glass-border);\r\n            color: var(--text-primary);\r\n            padding: 16px 32px;\r\n            border-radius: 30px;\r\n            font-size: 1.05rem;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            transition: var(--transition);\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.05);\r\n        }\r\n\r\n        .glass-load-more-btn:hover {\r\n            background: #ffffff;\r\n            color: var(--accent-primary);\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 10px 25px rgba(0,0,0,0.1);\r\n        }\r\n\r\n        \/* States *\/\r\n        .gl-hidden { display: none !important; }\r\n\r\n        \/* Responsive Details *\/\r\n        @media (max-width: 900px) {\r\n            .glass-actions-bar { flex-direction: column; align-items: stretch; gap: 15px; }\r\n            .glass-action-group { flex-direction: column; width: 100%; }\r\n            .glass-btn { justify-content: center; width: 100%; }\r\n            .glass-header h1 { font-size: 2.5rem; }\r\n            \/* Force 1 card per line only on mobile devices *\/\r\n            .glass-output-grid { grid-template-columns: 1fr; }\r\n        }\r\n\r\n        \/* Handle very long text in cards *\/\r\n        @media (max-width: 600px) {\r\n            .glass-output-text {\r\n                font-size: 1.2rem;\r\n                white-space: normal;\r\n                word-break: break-word;\r\n                overflow-wrap: break-word;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n    <script>\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            \/\/ DOM References\r\n            const inputEl = document.getElementById('weirdInput');\r\n            const gridEl = document.getElementById('weirdOutputGrid');\r\n            const btnLoadMore = document.getElementById('btnLoadMoreWeird');\r\n            \r\n            \/\/ Action Toolbar Elements\r\n            const btnPaste = document.getElementById('btnPasteWeird');\r\n            const btnSelectAll = document.getElementById('btnSelectAllWeird');\r\n            const btnCopyInput = document.getElementById('btnCopyInputWeird');\r\n            const btnClear = document.getElementById('btnClearWeird');\r\n\r\n            \/\/ Pagination settings\r\n            \/\/ With exactly 2 columns, loading 3 rows requires 6 cards per increment.\r\n            const initialVisibleCount = 6; \r\n            const loadIncrement = 6;       \r\n            let currentVisible = initialVisibleCount;\r\n            let cardRefs =[];\r\n\r\n            \/\/ --- WEIRD TEXT GENERATORS LOGIC ---\r\n            \r\n            \/\/ 1. Alternating (Spongebob) Case\r\n            const altCase = (str) => str.split('').map((c, i) => i % 2 === 0 ? c.toLowerCase() : c.toUpperCase()).join('');\r\n            \r\n            \/\/ 2. Wide \/ Vaporwave Text\r\n            const wideText = (str) => str.split('').map(c => {\r\n                let code = c.charCodeAt(0);\r\n                return (code >= 33 && code <= 126) ? String.fromCharCode(code + 65248) : c;\r\n            }).join('');\r\n\r\n            \/\/ 3. Upside Down Text\r\n            const flipMap = {\r\n                a:'\u0250',b:'q',c:'\u0254',d:'p',e:'\u01dd',f:'\u025f',g:'\u0183',h:'\u0265',i:'\u1d09',j:'\u027e',k:'\u029e',l:'l',m:'\u026f',n:'u',o:'o',p:'d',q:'b',r:'\u0279',s:'s',t:'\u0287',u:'n',v:'\u028c',w:'\u028d',x:'x',y:'\u028e',z:'z',\r\n                A:'\u2200',B:'\ud801\udc12',C:'\u0186',D:'\u25d6',E:'\u018e',F:'\u2132',G:'\u2141',H:'H',I:'I',J:'\u017f',K:'\u22ca',L:'\u02e5',M:'W',N:'N',O:'O',P:'\u0500',Q:'\u038c',R:'\u1d1a',S:'S',T:'\u22a5',U:'\u2229',V:'\u039b',W:'M',X:'X',Y:'\u2144',Z:'Z',\r\n                '1':'\u0196','2':'\u1105','3':'\u0190','4':'\u3123','5':'\u03db','6':'9','7':'\u3125','8':'8','9':'6','0':'0',\r\n                '.':'\u02d9',',':\"'\", \"'\":',', '\"':',,', '!':'\u00a1', '?':'\u00bf', '<':'>', '>':'<'\r\n            };\r\n            const upsideDown = (str) => str.split('').reverse().map(c => flipMap[c] || c).join('');\r\n\r\n            \/\/ 4. L33T Speak\r\n            const leetMap = {'a':'4','e':'3','i':'1','o':'0','s':'5','t':'7','l':'1','A':'4','E':'3','I':'1','O':'0','S':'5','T':'7','L':'1'};\r\n            const leetSpeak = (str) => str.split('').map(c => leetMap[c] || c).join('');\r\n\r\n            \/\/ 5. OwOify \/ Furry speak\r\n            const owoify = (str) => {\r\n                let s = str.replace(\/[rl]\/g, 'w').replace(\/[RL]\/g, 'W');\r\n                const owoFaces =[' (owo)', ' (uwu)', ' >w<', ' ^w^'];\r\n                return s + owoFaces[Math.floor(Math.random() * owoFaces.length)];\r\n            };\r\n\r\n            \/\/ 6. Mild Zalgo (Cursed)\r\n            const zChars =['\\u030d','\\u030e','\\u0304','\\u0305','\\u033f','\\u0311','\\u0315','\\u031b','\\u0320','\\u0321','\\u0322','\\u0316','\\u0317','\\u0318'];\r\n            const mildZalgo = (str) => str.split('').map(c => c !== ' ' ? c + zChars[Math.floor(Math.random()*zChars.length)] + zChars[Math.floor(Math.random()*zChars.length)] : c).join('');\r\n\r\n            \/\/ Array of 6 distinct weird foundations\r\n            const baseStyles =[\r\n                { id: \"MoCkInG\", fn: altCase },\r\n                { id: \"Vaporwave\", fn: wideText },\r\n                { id: \"UpsideDown\", fn: upsideDown },\r\n                { id: \"H4CK3R\", fn: leetSpeak },\r\n                { id: \"OwOify\", fn: owoify },\r\n                { id: \"Haunted\", fn: mildZalgo }\r\n            ];\r\n\r\n            \/\/ 50 Extremely Weird Decors \/ Wrappers (6 * 50 = 300)\r\n            const decors =[\r\n                { l:\"\", r:\"\", name:\"Pure Weirdness\" }, { l:\"\ud83d\udc41\ufe0f\ud83d\udc44\ud83d\udc41\ufe0f \", r:\" \ud83d\udc41\ufe0f\ud83d\udc44\ud83d\udc41\ufe0f\", name:\"Staring\" }, { l:\"(\u256f\u00b0\u25a1\u00b0)\u256f\ufe35 \", r:\"\", name:\"Table Flip\" },\r\n                { l:\"\u2728 \", r:\" \u2728\", name:\"Sparkle Magic\" }, { l:\"\u00af\\\\_(\u30c4)_\/\u00af \", r:\"\", name:\"Shrug\" }, { l:\"\ud83d\udc7d \", r:\" \ud83d\udc7d\", name:\"Alien\" },\r\n                { l:\"[ \", r:\" ]\", name:\"Bracketed\" }, { l:\"~ \", r:\" ~\", name:\"Wavy\" }, { l:\"\u2620\ufe0f \", r:\" \u2620\ufe0f\", name:\"Toxic\" },\r\n                { l:\"\u0295\u2022\u1d25\u2022\u0294 \", r:\"\", name:\"Bear Hug\" }, { l:\"\ud83c\udf44 \", r:\" \ud83c\udf44\", name:\"Shroom\" }, { l:\"( \u0361\u00b0 \u035c\u0296 \u0361\u00b0) \", r:\"\", name:\"Lenny\" },\r\n                { l:\"| \", r:\" |\", name:\"Trapped\" }, { l:\"\ud83c\udf08 \", r:\" \ud83c\udf08\", name:\"Rainbow\" }, { l:\"\u273f \", r:\" \u273f\", name:\"Flower Child\" },\r\n                { l:\"(\u0e07'\u0300-'\u0301)\u0e07 \", r:\"\", name:\"Fight Me\" }, { l:\"-=- \", r:\" -=-\", name:\"Dashed\" }, { l:\"\ud83e\udd21 \", r:\" \ud83e\udd21\", name:\"Clown\" },\r\n                { l:\"\u3010 \", r:\" \u3011\", name:\"Heavy Brackets\" }, { l:\"\u0f3c \u3064 \u25d5_\u25d5 \u0f3d\u3064 \", r:\"\", name:\"Gib Text\" }, { l:\"\ud83d\udd25 \", r:\" \ud83d\udd25\", name:\"Fire\" },\r\n                { l:\"\u00b0\u02d6\u2727 \", r:\" \u2727\u02d6\u00b0\", name:\"Anime Shine\" }, { l:\"x \", r:\" x\", name:\"Crossed\" }, { l:\"= \", r:\" =\", name:\"Equation\" },\r\n                { l:\"# \", r:\" #\", name:\"Hashtagged\" }, { l:\"\/\/ \", r:\" \/\/\", name:\"Comments\" }, { l:\"<3 \", r:\" <3\", name:\"Retro Heart\" },\r\n                { l:\"(\u2565\ufe4f\u2565) \", r:\"\", name:\"Crying\" }, { l:\"< \", r:\" >\", name:\"Pinched\" }, { l:\"+ \", r:\" +\", name:\"Math Weirdo\" },\r\n                { l:\"_ \", r:\" _\", name:\"Ground Level\" }, { l:\",, \", r:\" ,,\", name:\"Creeping\" }, { l:\"^ \", r:\" ^\", name:\"Pointy\" },\r\n                { l:\"\u2022. \", r:\" .\u2022\", name:\"Minimalist\" }, { l:\"|| \", r:\" ||\", name:\"Double Trapped\" }, { l:\"*\", r:\"*\", name:\"Asterisk\" },\r\n                { l:\"(\u261e\uff9f\u2200\uff9f)\u261e \", r:\"\", name:\"Check It\" }, { l:\"- - \", r:\" - -\", name:\"Stutter\" }, { l:\".: \", r:\" :.\", name:\"Code\" },\r\n                { l:\"\ud83d\udc7e \", r:\" \ud83d\udc7e\", name:\"Invader\" }, { l:\"\u00bb \", r:\" \u00ab\", name:\"Quotes\" }, { l:\"(\u2310\u25a0_\u25a0) \", r:\"\", name:\"Cool Guy\" },\r\n                { l:\"*\u00b0 \", r:\" \u00b0*\", name:\"Snowflake\" }, { l:\"\u0ca0_\u0ca0 \", r:\"\", name:\"Disapproval\" }, { l:\"v \", r:\" v\", name:\"Downward\" },\r\n                { l:\"' \", r:\" '\", name:\"Singled\" }, { l:\"\\\" \", r:\" \\\"\", name:\"Doubled\" }, { l:\"\/ \", r:\" \\\\\", name:\"Slanted\" },\r\n                { l:\"~\u00b0 \", r:\" \u00b0~\", name:\"Windy\" }, { l:\"-\u00b7 \", r:\" \u00b7-\", name:\"Morseish\" }\r\n            ];\r\n\r\n            const configs =[];\r\n            \r\n            decors.forEach(decor => {\r\n                baseStyles.forEach(base => {\r\n                    configs.push({\r\n                        name: `${decor.name} \/ ${base.id}`,\r\n                        generator: (text) => decor.l + base.fn(text) + decor.r\r\n                    });\r\n                });\r\n            });\r\n\r\n            \/\/ Fast DOM Builder for Glassmorphism UI\r\n            function initGrid() {\r\n                const initialText = \"make it weird\";\r\n                \r\n                configs.forEach((cfg, index) => {\r\n                    const card = document.createElement('div');\r\n                    card.className = `glass-card ${index >= currentVisible ? 'gl-hidden' : ''}`;\r\n                    card.dataset.index = index;\r\n\r\n                    \/\/ Inner layout built around 2 columns requirement (horizontal inner flex flow)\r\n                    card.innerHTML = `\r\n                        <div class=\"card-data-left\">\r\n                            <div class=\"glass-card-badge\">\r\n                                <span>#${index + 1}<\/span> ${cfg.name}\r\n                            <\/div>\r\n                            <div class=\"glass-output-text\" id=\"weird-out-${index}\"><\/div>\r\n                        <\/div>\r\n                        <button class=\"glass-copy-btn\" id=\"weird-copy-${index}\" title=\"Copy Output\">\r\n                            <svg width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"><\/rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"><\/path><\/svg>\r\n                        <\/button>\r\n                    `;\r\n                    \r\n                    gridEl.appendChild(card);\r\n                    \r\n                    cardRefs.push({\r\n                        container: card,\r\n                        textNode: document.getElementById(`weird-out-${index}`),\r\n                        copyBtn: document.getElementById(`weird-copy-${index}`),\r\n                        generator: cfg.generator\r\n                    });\r\n\r\n                    \/\/ Assign Click logic to action buttons\r\n                    cardRefs[index].copyBtn.addEventListener('click', () => {\r\n                        const txtToCopy = cardRefs[index].textNode.textContent;\r\n                        navigator.clipboard.writeText(txtToCopy).then(() => {\r\n                            const btn = cardRefs[index].copyBtn;\r\n                            const ogHTML = btn.innerHTML;\r\n                            btn.innerHTML = `<svg width=\"22\" height=\"22\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg>`;\r\n                            btn.classList.add('copied-state');\r\n                            setTimeout(() => {\r\n                                btn.innerHTML = ogHTML;\r\n                                btn.classList.remove('copied-state');\r\n                            }, 1500);\r\n                        });\r\n                    });\r\n                });\r\n                \r\n                \/\/ Initialize Generation\r\n                updateTextGenerations(initialText);\r\n            }\r\n\r\n            \/\/ Realtime Update logic\r\n            function updateTextGenerations(val) {\r\n                const txt = val.trim() || \"make it weird\";\r\n                for (let i = 0; i < currentVisible; i++) {\r\n                    cardRefs[i].textNode.textContent = cardRefs[i].generator(txt);\r\n                }\r\n            }\r\n\r\n            inputEl.addEventListener('input', (e) => {\r\n                updateTextGenerations(e.target.value);\r\n            });\r\n\r\n            \/\/ PASTE BUTTON: Enhanced with better fallbacks\r\n            btnPaste.addEventListener('click', async () => {\r\n                inputEl.focus(); \r\n                \r\n                \/\/ Try modern clipboard API first\r\n                try {\r\n                    if (navigator.clipboard && navigator.clipboard.readText) {\r\n                        const text = await navigator.clipboard.readText();\r\n                        if (text) {\r\n                            const start = inputEl.selectionStart;\r\n                            const end = inputEl.selectionEnd;\r\n                            inputEl.value = inputEl.value.substring(0, start) + text + inputEl.value.substring(end);\r\n                            inputEl.selectionStart = inputEl.selectionEnd = start + text.length;\r\n                            updateTextGenerations(inputEl.value);\r\n                            return;\r\n                        }\r\n                    }\r\n                } catch (err) {\r\n                    console.log('Clipboard API failed, trying fallback:', err);\r\n                }\r\n                \r\n                \/\/ Fallback: Try to trigger paste event\r\n                try {\r\n                    \/\/ Create a paste event\r\n                    const pasteEvent = new Event('paste', { bubbles: true, cancelable: true });\r\n                    inputEl.dispatchEvent(pasteEvent);\r\n                    \r\n                    \/\/ Alternative: Use document.execCommand as last resort\r\n                    setTimeout(() => {\r\n                        if (document.execCommand) {\r\n                            const success = document.execCommand('paste');\r\n                            if (success) {\r\n                                updateTextGenerations(inputEl.value);\r\n                                return;\r\n                            }\r\n                        }\r\n                        \r\n                        \/\/ If all else fails, show user-friendly message\r\n                        showPasteHelp();\r\n                    }, 100);\r\n                } catch (err) {\r\n                    console.log('Fallback paste failed:', err);\r\n                    showPasteHelp();\r\n                }\r\n            });\r\n            \r\n            function showPasteHelp() {\r\n                \/\/ Create a temporary help message instead of alert\r\n                const helpMsg = document.createElement('div');\r\n                helpMsg.style.cssText = `\r\n                    position: fixed;\r\n                    top: 20px;\r\n                    right: 20px;\r\n                    background: #8b5cf6;\r\n                    color: white;\r\n                    padding: 15px 20px;\r\n                    border-radius: 8px;\r\n                    font-size: 14px;\r\n                    z-index: 10000;\r\n                    box-shadow: 0 4px 12px rgba(0,0,0,0.15);\r\n                    max-width: 300px;\r\n                `;\r\n                helpMsg.innerHTML = `\r\n                    <strong>Paste Help:<\/strong><br>\r\n                    Press Ctrl+V (Windows) or Cmd+V (Mac) to paste text directly in the input field.\r\n                `;\r\n                document.body.appendChild(helpMsg);\r\n                \r\n                \/\/ Remove after 4 seconds\r\n                setTimeout(() => {\r\n                    if (helpMsg.parentNode) {\r\n                        helpMsg.parentNode.removeChild(helpMsg);\r\n                    }\r\n                }, 4000);\r\n            }\r\n\r\n            btnSelectAll.addEventListener('click', () => {\r\n                inputEl.select();\r\n            });\r\n\r\n            btnCopyInput.addEventListener('click', () => {\r\n                if(inputEl.value) {\r\n                    navigator.clipboard.writeText(inputEl.value);\r\n                    const ogHtml = btnCopyInput.innerHTML;\r\n                    btnCopyInput.innerHTML = `<svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg> Copied!`;\r\n                    setTimeout(() => btnCopyInput.innerHTML = ogHtml, 2000);\r\n                }\r\n            });\r\n\r\n            btnClear.addEventListener('click', () => {\r\n                inputEl.value = '';\r\n                updateTextGenerations('');\r\n                inputEl.focus();\r\n            });\r\n\r\n            \/\/ LOAD MORE: Increment exactly by 6 to cover exactly 3 rows\r\n            btnLoadMore.addEventListener('click', () => {\r\n                const prevVisible = currentVisible;\r\n                currentVisible += loadIncrement;\r\n                \r\n                if (currentVisible > configs.length) {\r\n                    currentVisible = configs.length;\r\n                }\r\n\r\n                const currentText = inputEl.value.trim() || \"make it weird\";\r\n\r\n                for (let i = prevVisible; i < currentVisible; i++) {\r\n                    cardRefs[i].container.classList.remove('gl-hidden');\r\n                    cardRefs[i].textNode.textContent = cardRefs[i].generator(currentText);\r\n                }\r\n\r\n                if (currentVisible >= configs.length) {\r\n                    document.querySelector('.glass-load-more-container').classList.add('gl-hidden');\r\n                }\r\n            });\r\n\r\n            \/\/ Initialization \r\n            initGrid();\r\n        });\r\n    <\/script>\r\n<\/div>\r\n\r\n<!-- <content section is starting -->\r\n\r\n<div>\r\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\r\n\r\n    <!-- SECTION 1 \u2014 WHITE BG + WHITE CARDS -->\r\n\r\n\r\n\r\n<section class=\"pg-fcs-section pg-fcs-sec1\">\r\n        <div class=\"pg-fcs-inner\">\r\n\r\n<\/div>\r\n\t<\/section>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n    <section class=\"pg-fcs-section pg-fcs-sec1\">\r\n        <div class=\"pg-fcs-inner\">\r\n            <h2 class=\"pg-fcs-heading\">What Makes This <span class=\"pg-fcs-kw\">Weird Text Generator<\/span> Different?<\/h2>\r\n            <p class=\"pg-fcs-sub\">Discover why thousands of creators use our weird text generator to produce truly bizarre, eye-catching Unicode text that breaks the mold \u2014 completely free.<\/p>\r\n            <div class=\"pg-fcs-grid\">\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(224,64,251,0.12);color:#e040fb;\"><i class=\"fa-solid fa-shuffle\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">20+ Bizarre Text Styles<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Upside-down, mirrored, bubble, wavy, boxed, circled, fullwidth \u2014 our weird text generator offers every strange Unicode format in one place.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(105,240,174,0.12);color:#69f0ae;\"><i class=\"fa-solid fa-wand-magic-sparkles\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Instant Weird Transformation<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Type your normal text and watch it morph into something completely bizarre instantly \u2014 our weird text generator works in real time with zero delay.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(255,145,0,0.12);color:#ff9100;\"><i class=\"fa-solid fa-copy\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">One-Click Copy & Paste<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Created your weird text? Hit copy and paste it into any social media bio, comment, or message \u2014 real Unicode works everywhere without issues.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(64,196,255,0.12);color:#40c4ff;\"><i class=\"fa-solid fa-shield-halved\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">100% Safe & Private<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Our weird text generator runs entirely in your browser \u2014 no servers, no tracking, no data collection. Your weird text stays completely private.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(255,82,82,0.12);color:#ff5252;\"><i class=\"fa-solid fa-display\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Works on Every Device<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Mobile, tablet, or desktop \u2014 our weird text generator renders every strange format perfectly on any screen, any browser, any operating system.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(179,136,255,0.12);color:#b388ff;\"><i class=\"fa-solid fa-infinity\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Unlimited Free Weirdness<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">No accounts, no limits, no fees. Generate as much weird text as you want with our weird text generator \u2014 it's free forever, no catch.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- SECTION 2 \u2014 PREVIOUS GRADIENT BG + GLASS CARDS -->\r\n    <section class=\"pg-fcs-section pg-fcs-sec2\">\r\n        <div class=\"pg-fcs-inner\">\r\n            <h2 class=\"pg-fcs-heading\">How Does Our <span class=\"pg-fcs-kw\">Weird Text Generator<\/span> Work?<\/h2>\r\n            <p class=\"pg-fcs-sub\">Creating weird text is refreshingly simple. No technical skills needed \u2014 just follow these steps and transform your text into something wonderfully strange.<\/p>\r\n            <div class=\"pg-fcs-grid\">\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\u270f\ufe0f<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 1: Type Your Normal Text<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Enter any word, sentence, or paragraph into the input box of our weird text generator \u2014 perfectly normal text becomes beautifully bizarre.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83c\udfad<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 2: Pick a Weird Style<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Browse through upside-down, mirrored, bubble, wavy, fullwidth, mono, double-struck, and more \u2014 each style creates a uniquely weird look.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83e\ude9e<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 3: Preview the Weirdness<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Your text instantly transforms using real Unicode mapping \u2014 see a live preview of exactly how your weird text will appear when pasted online.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83d\udccb<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 4: Copy Your Result<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Love the weird output? Click the copy button and your bizarre text goes straight to clipboard \u2014 pure Unicode, no formatting lost ever.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83c\udf10<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 5: Paste Anywhere<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Drop your weird text into Instagram bios, TikTok comments, Discord names, tweets, or messages \u2014 it renders natively on every platform.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83d\udd00<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 6: Mix & Combine Styles<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Get creative by combining different weird formats \u2014 mix upside-down with bubble, or mirror with wavy for truly one-of-a-kind bizarre text.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- SECTION 3 \u2014 WHITE BG + SOFT GRAY CARDS -->\r\n    <section class=\"pg-fcs-section pg-fcs-sec3\">\r\n        <div class=\"pg-fcs-inner\">\r\n            <h2 class=\"pg-fcs-heading\">Where Can You Use <span class=\"pg-fcs-kw\">Weird Text Generator<\/span> Results?<\/h2>\r\n            <p class=\"pg-fcs-sub\">Our weird text generator produces real Unicode that renders on virtually every platform. Here are the most popular ways creators use bizarre text to stand out.<\/p>\r\n            <div class=\"pg-fcs-grid\">\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(245,0,87,0.12);color:#f50057;\"><i class=\"fa-brands fa-instagram\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Instagram Bio & Captions<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Make your Instagram profile impossible to ignore \u2014 weird text in bios and captions creates instant curiosity and makes followers stop scrolling.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(255,0,80,0.10);color:#ff0050;\"><i class=\"fa-brands fa-tiktok\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">TikTok Captions & Comments<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Weird text in TikTok captions drives engagement \u2014 the unusual formatting makes viewers pause, read, and interact with your content more.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(101,31,255,0.12);color:#651fff;\"><i class=\"fa-brands fa-discord\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Discord Names & Status<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Stand out in any Discord server with a weird username or custom status \u2014 mirrored and upside-down text is perfect for fun community servers.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(0,176,255,0.12);color:#00b0ff;\"><i class=\"fa-brands fa-twitter\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Twitter \/ X Posts & Bio<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Weird text in tweets and X bios breaks the visual monotony of timelines \u2014 your posts become unmissable among hundreds of normal text tweets.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(105,240,174,0.10);color:#69f0ae;\"><i class=\"fa-brands fa-youtube\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">YouTube Titles & Descriptions<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Use weird text in YouTube video titles to boost click-through rates \u2014 the unusual formatting creates mystery and draws viewers in instantly.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(224,64,251,0.10);color:#e040fb;\"><i class=\"fa-solid fa-user-astronaut\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Gaming Usernames & Profiles<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Create unforgettable gaming usernames using weird text formats \u2014 mirrored, upside-down, and bubble text work in Roblox, Minecraft, and most games.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <style>\r\n        *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}\r\n        :root{\r\n            --accent-pink:#e040fb;--accent-mint:#69f0ae;--accent-amber:#ff9100;\r\n            --accent-sky:#40c4ff;--accent-coral:#ff5252;--accent-lavender:#b388ff;\r\n            --text-dark:#0a0a0a;--text-primary:#1a1a1a;--text-muted:#4a4a5a;\r\n            --grad-weird:linear-gradient(135deg,#e040fb,#40c4ff,#69f0ae);\r\n            --theme-bg-alt:rgba(244,248,252,0.7);\r\n            --shadow-card:0 4px 15px rgba(224,64,251,0.06);\r\n            --shadow-card-hover:0 12px 30px rgba(224,64,251,0.14);\r\n            --tr:all .35s cubic-bezier(.2,.8,.2,1);\r\n            --ff:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif\r\n        }\r\n        .pg-fcs-section{width:100%;padding:clamp(48px,8vw,96px) 20px;position:relative;overflow:hidden;font-family:var(--ff);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}\r\n        .pg-fcs-inner{max-width:1200px;margin:0 auto}\r\n        .pg-fcs-heading{font-family:var(--ff);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;text-align:center;color:var(--text-dark);margin-bottom:clamp(8px,1.5vw,14px);line-height:1.2;letter-spacing:-.03em}\r\n        .pg-fcs-kw{color:var(--accent-pink);position:relative}\r\n        .pg-fcs-kw::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:3px;background:var(--grad-weird);border-radius:3px;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1)}\r\n        .pg-fcs-section:hover .pg-fcs-kw::after{transform:scaleX(1)}\r\n        .pg-fcs-sub{font-family:var(--ff);font-size:clamp(.88rem,1.8vw,1.02rem);font-weight:400;text-align:center;color:var(--text-muted);max-width:660px;margin:0 auto clamp(32px,5vw,56px);line-height:1.7}\r\n        .pg-fcs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,26px)}\r\n        .pg-fcs-card{border-radius:16px;padding:clamp(22px,3vw,32px);position:relative;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;transition:var(--tr);border:1px solid transparent}\r\n        .pg-fcs-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--grad-weird);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1);z-index:2}\r\n        .pg-fcs-card::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(224,64,251,.08) 0%,rgba(64,196,255,.03) 60%,transparent 100%);transform:translate(-50%,-50%);transition:width .55s ease-out,height .55s ease-out,opacity .55s ease-out;opacity:0;z-index:1;pointer-events:none}\r\n        .pg-fcs-card:hover::before{transform:scaleX(1)}\r\n        .pg-fcs-card.pg-fcs-pressed{transform:translateY(-1px) scale(.985)!important}\r\n        .pg-fcs-card.pg-fcs-pressed::before{transform:scaleX(1)}\r\n        .pg-fcs-card.pg-fcs-ripple::after{width:320px;height:320px;opacity:1}\r\n        .pg-fcs-card.pg-fcs-ripple-out::after{width:320px;height:320px;opacity:0}\r\n        .pg-fcs-icon{width:clamp(46px,5vw,58px);height:clamp(46px,5vw,58px);min-width:46px;min-height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:clamp(18px,2.5vw,24px);margin-bottom:clamp(14px,2vw,20px);transition:var(--tr);position:relative;z-index:3}\r\n        .pg-fcs-card:hover .pg-fcs-icon{transform:scale(1.12) rotate(-4deg)}\r\n        .pg-fcs-card.pg-fcs-pressed .pg-fcs-icon{transform:scale(1.04) rotate(0deg)}\r\n        .pg-fcs-emoji{font-size:clamp(28px,3.5vw,36px);margin-bottom:clamp(12px,1.8vw,16px);display:inline-block;transition:var(--tr);position:relative;z-index:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}\r\n        .pg-fcs-card:hover .pg-fcs-emoji{transform:scale(1.22) rotate(-6deg)}\r\n        .pg-fcs-card.pg-fcs-pressed .pg-fcs-emoji{transform:scale(1.08) rotate(0deg)}\r\n        .pg-fcs-card-title{font-family:var(--ff);font-size:clamp(.95rem,2vw,1.1rem);font-weight:700;color:var(--text-dark);margin-bottom:clamp(6px,1vw,10px);line-height:1.35;position:relative;z-index:3}\r\n        .pg-fcs-card-desc{font-family:var(--ff);font-size:clamp(.8rem,1.5vw,.9rem);font-weight:400;color:var(--text-muted);line-height:1.65;position:relative;z-index:3}\r\n\r\n        \/* SEC 1 \u2014 WHITE + DARK TEXT *\/\r\n        .pg-fcs-sec1{background:#fff}\r\n        .pg-fcs-sec1 .pg-fcs-card{background:#fff;border-color:rgba(224,64,251,.08);box-shadow:0 2px 12px rgba(224,64,251,.04)}\r\n        .pg-fcs-sec1 .pg-fcs-card:hover{border-color:var(--accent-pink);box-shadow:var(--shadow-card-hover);transform:translateY(-5px)}\r\n        .pg-fcs-sec1 .pg-fcs-sub{color:#2a2a2a}\r\n        .pg-fcs-sec1 .pg-fcs-card-title{color:#0a0a0a}\r\n        .pg-fcs-sec1 .pg-fcs-card-desc{color:#2a2a2a}\r\n\r\n        \/* SEC 2 \u2014 PREVIOUS GRADIENT *\/\r\n        .pg-fcs-sec2{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}\r\n        .pg-fcs-sec2 .pg-fcs-heading{color:#fff}\r\n        .pg-fcs-sec2 .pg-fcs-kw{color:#ffd700}\r\n        .pg-fcs-sec2 .pg-fcs-kw::after{background:linear-gradient(90deg,#667eea,#764ba2,#ffd700)}\r\n        .pg-fcs-sec2 .pg-fcs-sub{color:rgba(255,255,255,.8)}\r\n        .pg-fcs-sec2 .pg-fcs-card{background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px rgba(0,0,0,.12)}\r\n        .pg-fcs-sec2 .pg-fcs-card::before{background:linear-gradient(90deg,#667eea,#764ba2,#ffd700)}\r\n        .pg-fcs-sec2 .pg-fcs-card:hover{border-color:rgba(255,255,255,.7);box-shadow:0 12px 40px rgba(118,75,162,.3);transform:translateY(-5px)}\r\n        .pg-fcs-sec2 .pg-fcs-card::after{background:radial-gradient(circle,rgba(118,75,162,.1) 0%,rgba(102,126,234,.05) 60%,transparent 100%)}\r\n\r\n        \/* SEC 3 \u2014 WHITE + SOFT GRAY *\/\r\n        .pg-fcs-sec3{background:#fff}\r\n        .pg-fcs-sec3 .pg-fcs-card{background:var(--theme-bg-alt);border-color:rgba(224,64,251,.06);box-shadow:0 2px 10px rgba(224,64,251,.03)}\r\n        .pg-fcs-sec3 .pg-fcs-card::before{background:linear-gradient(90deg,#e040fb,#40c4ff,#69f0ae)}\r\n        .pg-fcs-sec3 .pg-fcs-card:hover{border-color:var(--accent-pink);box-shadow:var(--shadow-card-hover);transform:translateY(-5px)}\r\n\r\n        \/* RESPONSIVE *\/\r\n        @media(max-width:820px){.pg-fcs-grid{grid-template-columns:repeat(2,1fr);gap:16px}.pg-fcs-section{padding:clamp(36px,6vw,64px) 16px}}\r\n        @media(max-width:540px){.pg-fcs-grid{grid-template-columns:1fr;gap:14px}.pg-fcs-card{padding:22px}.pg-fcs-sub{margin-bottom:28px}}\r\n        @media(max-width:360px){.pg-fcs-section{padding:32px 12px}.pg-fcs-card{padding:18px;border-radius:12px}}\r\n    <\/style>\r\n\r\n    <script>\r\n    (function(){\r\n        var c=document.querySelectorAll('.pg-fcs-card');\r\n        c.forEach(function(card){\r\n            function ripple(el){\r\n                el.classList.remove('pg-fcs-ripple','pg-fcs-ripple-out');\r\n                void el.offsetWidth;\r\n                el.classList.add('pg-fcs-ripple');\r\n                setTimeout(function(){el.classList.add('pg-fcs-ripple-out')},300);\r\n                setTimeout(function(){el.classList.remove('pg-fcs-ripple','pg-fcs-ripple-out')},700);\r\n            }\r\n            card.addEventListener('mousedown',function(){card.classList.add('pg-fcs-pressed')});\r\n            card.addEventListener('mouseup',function(){setTimeout(function(){card.classList.remove('pg-fcs-pressed')},120);ripple(card)});\r\n            card.addEventListener('mouseleave',function(){card.classList.remove('pg-fcs-pressed','pg-fcs-ripple','pg-fcs-ripple-out')});\r\n            card.addEventListener('touchstart',function(){card.classList.add('pg-fcs-pressed');ripple(card)},{passive:true});\r\n            card.addEventListener('touchend',function(){setTimeout(function(){card.classList.remove('pg-fcs-pressed')},150)});\r\n            card.addEventListener('touchcancel',function(){card.classList.remove('pg-fcs-pressed','pg-fcs-ripple','pg-fcs-ripple-out')});\r\n        });\r\n    })();\r\n    <\/script>\r\n<\/div>[\/et_pb_fullwidth_code][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"glass-weird-wrapper\">\r\n    <!-- Inner wrapper constrains width while background stays 100% -->\r\n    <div class=\"glass-tool-inner\">\r\n        \r\n        <!-- Header Section -->\r\n        <header class=\"glass-header\">\r\n            <div class=\"header-icon-wrap\">\r\n                <svg width=\"32\" height=\"32\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M12 2a10 10 0 1 0 10 10H12V2z\"><\/path><path d=\"M12 12 2.1 7.1\"><\/path><path d=\"M12 12l9.9 4.9\"><\/path><\/svg>\r\n            <\/div>\r\n            <h1>Weird Text Generator - Transform Instantly<\/h1>\r\n            <p>Make your text elegantly bizarre. Over 300 highly unusual and weird variations crafted instantly.<\/p>\r\n        <\/header>\r\n\r\n        <!-- Main Tool Component -->\r\n        <main class=\"glass-tool-container\">\r\n            \r\n            <!-- Glassmorphic Input & Toolbar -->\r\n            <div class=\"glass-input-panel\">\r\n                <textarea id=\"weirdInput\" class=\"glass-textarea\" placeholder=\"Type normal text here to make it weird...\" aria-label=\"Input text\"><\/textarea>\r\n                \r\n                <div class=\"glass-actions-bar\">\r\n                    <div class=\"glass-action-group\">\r\n                        <button id=\"btnPasteWeird\" class=\"glass-btn\" title=\"Paste text from clipboard\">\r\n                            <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"><\/path><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"><\/rect><\/svg>\r\n                            Paste\r\n                        <\/button>\r\n                        <button id=\"btnSelectAllWeird\" class=\"glass-btn\" title=\"Select all text in input\">\r\n                            <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M14 3.269C14 2.568 14.568 2 15.269 2H20a2 2 0 0 1 2 2v4.731C22 9.432 21.432 10 20.731 10H16a2 2 0 0 1-2-2V3.269z\"><\/path><path d=\"M3.269 14C2.568 14 2 14.568 2 15.269V20a2 2 0 0 0 2 2h4.731C9.432 22 10 21.432 10 20.731V16a2 2 0 0 0-2-2H3.269z\"><\/path><\/svg>\r\n                            Select All\r\n                        <\/button>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"glass-action-group\">\r\n                        <button id=\"btnCopyInputWeird\" class=\"glass-btn btn-highlight\" title=\"Copy the input text\">\r\n                            <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"><\/rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"><\/path><\/svg>\r\n                            Copy Original\r\n                        <\/button>\r\n                        <button id=\"btnClearWeird\" class=\"glass-btn btn-danger\" title=\"Clear all text\">\r\n                            <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><polyline points=\"3 6 5 6 21 6\"><\/polyline><path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"><\/path><line x1=\"10\" y1=\"11\" x2=\"10\" y2=\"17\"><\/line><line x1=\"14\" y1=\"11\" x2=\"14\" y2=\"17\"><\/line><\/svg>\r\n                            Clear\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Output Section Separator -->\r\n            <div class=\"glass-output-section\">\r\n                <h2 class=\"section-title\">Generated Variations<\/h2>\r\n                \r\n                <!-- Output Grid (Strictly 2 Cards Per Line) -->\r\n                <div id=\"weirdOutputGrid\" class=\"glass-output-grid\">\r\n                    <!-- JavaScript will populate exactly 300 cards here -->\r\n                <\/div>\r\n\r\n                <!-- Load More Section (Loads 3 Rows \/ 6 Cards) -->\r\n                <div class=\"glass-load-more-container\">\r\n                    <button id=\"btnLoadMoreWeird\" class=\"glass-load-more-btn\">\r\n                        <svg width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        Load More Variations\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/main>\r\n    <\/div>\r\n\r\n    <style>\r\n        \/* GLASSMORPHISM DESIGN VARIABLES *\/\r\n        :root {\r\n            \/* Kept the exact background color from demo *\/\r\n            --tool-bg: linear-gradient(135deg, #e0c3fc 0%, #8ec5fc 100%);\r\n            \r\n            \/* Glass UI Colors *\/\r\n            --glass-base: rgba(255, 255, 255, 0.45);\r\n            --glass-card: rgba(255, 255, 255, 0.55);\r\n            --glass-card-hover: rgba(255, 255, 255, 0.75);\r\n            --glass-border: rgba(255, 255, 255, 0.8);\r\n            --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);\r\n            \r\n            \/* Text & Accents *\/\r\n            --text-primary: #1e293b;\r\n            --text-secondary: #475569;\r\n            --accent-primary: #8b5cf6;\r\n            --danger-bg: rgba(255, 228, 230, 0.8);\r\n            --danger-text: #e11d48;\r\n            --success-bg: rgba(220, 252, 231, 0.9);\r\n            --success-text: #16a34a;\r\n\r\n            --radius-container: 24px;\r\n            --radius-card: 16px;\r\n            --radius-btn: 12px;\r\n            \r\n            --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\r\n        }\r\n\r\n        .glass-weird-wrapper {\r\n            width: 100%;\r\n            min-height: 100vh;\r\n            background: var(--tool-bg);\r\n            font-family: 'Inter', system-ui, -apple-system, sans-serif;\r\n            color: var(--text-primary);\r\n            line-height: 1.6;\r\n            padding: 60px 0;\r\n            box-sizing: border-box;\r\n            position: relative;\r\n        }\r\n\r\n        .glass-weird-wrapper * {\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .glass-tool-inner {\r\n            max-width: 1100px;\r\n            margin: 0 auto;\r\n            padding: 0 20px;\r\n        }\r\n\r\n        \/* HEADER UI *\/\r\n        .glass-header {\r\n            text-align: center;\r\n            margin-bottom: 45px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n\r\n        .header-icon-wrap {\r\n            background: var(--glass-card);\r\n            backdrop-filter: blur(10px);\r\n            -webkit-backdrop-filter: blur(10px);\r\n            border: 1px solid var(--glass-border);\r\n            width: 64px;\r\n            height: 64px;\r\n            border-radius: 50%;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n            color: var(--accent-primary);\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.05);\r\n        }\r\n\r\n        .glass-header h1 {\r\n            font-size: clamp(2.2rem, 5vw, 3.5rem);\r\n            color: #0f172a;\r\n            margin: 0 0 8px 0;\r\n            font-weight: 800;\r\n            letter-spacing: -0.5px;\r\n        }\r\n\r\n        .glass-header p {\r\n            font-size: 1.15rem;\r\n            color: #334155;\r\n            max-width: 650px;\r\n            margin: 0;\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* TOOL CONTAINER (FROSTED GLASS) *\/\r\n        .glass-tool-container {\r\n            background: var(--glass-base);\r\n            border-radius: var(--radius-container);\r\n            padding: 35px;\r\n            box-shadow: var(--glass-shadow);\r\n            backdrop-filter: blur(16px);\r\n            -webkit-backdrop-filter: blur(16px);\r\n            border: 1px solid rgba(255, 255, 255, 0.6);\r\n        }\r\n\r\n        \/* INPUT PANEL *\/\r\n        .glass-input-panel {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 20px;\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .glass-textarea {\r\n            width: 100%;\r\n            height: 160px;\r\n            background: rgba(255, 255, 255, 0.6);\r\n            border: 1px solid var(--glass-border);\r\n            border-radius: var(--radius-card);\r\n            box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.02);\r\n            padding: 25px;\r\n            font-size: 1.3rem;\r\n            font-weight: 500;\r\n            resize: vertical;\r\n            outline: none;\r\n            color: var(--text-primary);\r\n            font-family: inherit;\r\n            transition: var(--transition);\r\n            min-height: 120px;\r\n            max-height: 400px;\r\n            overflow-y: auto;\r\n        }\r\n\r\n        .glass-textarea::placeholder {\r\n            color: #64748b;\r\n        }\r\n\r\n        .glass-textarea:focus {\r\n            background: #ffffff;\r\n            border-color: var(--accent-primary);\r\n            box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.2);\r\n        }\r\n\r\n        \/* ACTIONS BAR *\/\r\n        .glass-actions-bar {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            flex-wrap: wrap;\r\n            gap: 15px;\r\n        }\r\n\r\n        .glass-action-group {\r\n            display: flex;\r\n            gap: 12px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .glass-btn {\r\n            background: rgba(255, 255, 255, 0.7);\r\n            border: 1px solid var(--glass-border);\r\n            color: var(--text-primary);\r\n            padding: 10px 18px;\r\n            border-radius: var(--radius-btn);\r\n            font-weight: 600;\r\n            font-size: 0.95rem;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            transition: var(--transition);\r\n            backdrop-filter: blur(5px);\r\n            box-shadow: 0 2px 5px rgba(0,0,0,0.02);\r\n        }\r\n\r\n        .glass-btn:hover {\r\n            background: #ffffff;\r\n            color: var(--accent-primary);\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 6px 15px rgba(0,0,0,0.05);\r\n        }\r\n\r\n        .btn-danger {\r\n            color: var(--danger-text);\r\n        }\r\n\r\n        .btn-danger:hover {\r\n            background: var(--danger-bg);\r\n            border-color: rgba(255, 255, 255, 1);\r\n            color: var(--danger-text);\r\n        }\r\n\r\n        .btn-highlight {\r\n            background: var(--accent-primary);\r\n            color: #ffffff;\r\n            border-color: var(--accent-primary);\r\n        }\r\n\r\n        .btn-highlight:hover {\r\n            background: #7c3aed;\r\n            color: #ffffff;\r\n            box-shadow: 0 6px 15px rgba(139, 92, 246, 0.3);\r\n        }\r\n\r\n        \/* OUTPUT SECTION SEPARATOR *\/\r\n        .glass-output-section {\r\n            margin-top: 40px;\r\n            padding-top: 30px;\r\n            border-top: 1px solid rgba(255, 255, 255, 0.3);\r\n        }\r\n\r\n        .section-title {\r\n            text-align: center;\r\n            font-size: 1.8rem;\r\n            font-weight: 700;\r\n            color: var(--text-primary);\r\n            margin-bottom: 30px;\r\n            letter-spacing: -0.5px;\r\n        }\r\n\r\n        \/* OUTPUT GRID - STRICTLY 2 CARDS PER LINE ON DESKTOP *\/\r\n        .glass-output-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(2, 1fr); \/* FORCES 2 CARDS PER LINE *\/\r\n            gap: 20px;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        \/* GLASS CARD (Wide Horizontal Layout) *\/\r\n        .glass-card {\r\n            background: var(--glass-card);\r\n            border: 1px solid var(--glass-border);\r\n            border-radius: var(--radius-card);\r\n            padding: 20px 24px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n            gap: 15px;\r\n            transition: var(--transition);\r\n            backdrop-filter: blur(10px);\r\n            -webkit-backdrop-filter: blur(10px);\r\n            min-height: 80px;\r\n            max-height: 120px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .glass-card:hover {\r\n            transform: translateY(-4px);\r\n            background: var(--glass-card-hover);\r\n            box-shadow: 0 12px 30px rgba(31, 38, 135, 0.1);\r\n            border-color: #ffffff;\r\n        }\r\n\r\n        .card-data-left {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 8px;\r\n            flex: 1;\r\n            min-width: 0; \/* allows text truncation *\/\r\n        }\r\n\r\n        .glass-card-badge {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 6px;\r\n            font-size: 0.75rem;\r\n            color: var(--text-secondary);\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n        }\r\n\r\n        .glass-card-badge span {\r\n            background: rgba(139, 92, 246, 0.15);\r\n            color: var(--accent-primary);\r\n            padding: 2px 8px;\r\n            border-radius: 20px;\r\n        }\r\n\r\n        .glass-output-text {\r\n            font-size: 1.6rem;\r\n            font-weight: 500;\r\n            color: var(--text-primary);\r\n            white-space: normal;\r\n            overflow-wrap: break-word;\r\n            word-break: break-word;\r\n            user-select: all;\r\n            width: 100%;\r\n            max-width: 100%;\r\n            display: block;\r\n            line-height: 1.2;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 2;\r\n            -webkit-box-orient: vertical;\r\n            line-clamp: 2;\r\n        }\r\n\r\n        \/* Circular Elegant Copy Button *\/\r\n        .glass-copy-btn {\r\n            background: #ffffff;\r\n            border: 1px solid rgba(226, 232, 240, 0.8);\r\n            color: var(--text-primary);\r\n            width: 48px;\r\n            height: 48px;\r\n            border-radius: 50%;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            cursor: pointer;\r\n            transition: var(--transition);\r\n            flex-shrink: 0;\r\n            box-shadow: 0 2px 8px rgba(0,0,0,0.04);\r\n        }\r\n\r\n        .glass-copy-btn:hover {\r\n            background: var(--accent-primary);\r\n            color: #ffffff;\r\n            border-color: var(--accent-primary);\r\n            transform: scale(1.05) rotate(5deg);\r\n            box-shadow: 0 8px 20px rgba(139, 92, 246, 0.3);\r\n        }\r\n\r\n        .glass-copy-btn.copied-state {\r\n            background: var(--success-bg);\r\n            color: var(--success-text);\r\n            border-color: #86efac;\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        \/* Load More Footer *\/\r\n        .glass-load-more-container {\r\n            display: flex;\r\n            justify-content: center;\r\n            padding-top: 15px;\r\n        }\r\n\r\n        .glass-load-more-btn {\r\n            background: rgba(255, 255, 255, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid var(--glass-border);\r\n            color: var(--text-primary);\r\n            padding: 16px 32px;\r\n            border-radius: 30px;\r\n            font-size: 1.05rem;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            transition: var(--transition);\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.05);\r\n        }\r\n\r\n        .glass-load-more-btn:hover {\r\n            background: #ffffff;\r\n            color: var(--accent-primary);\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 10px 25px rgba(0,0,0,0.1);\r\n        }\r\n\r\n        \/* States *\/\r\n        .gl-hidden { display: none !important; }\r\n\r\n        \/* Responsive Details *\/\r\n        @media (max-width: 900px) {\r\n            .glass-actions-bar { flex-direction: column; align-items: stretch; gap: 15px; }\r\n            .glass-action-group { flex-direction: column; width: 100%; }\r\n            .glass-btn { justify-content: center; width: 100%; }\r\n            .glass-header h1 { font-size: 2.5rem; }\r\n            \/* Force 1 card per line only on mobile devices *\/\r\n            .glass-output-grid { grid-template-columns: 1fr; }\r\n        }\r\n\r\n        \/* Handle very long text in cards *\/\r\n        @media (max-width: 600px) {\r\n            .glass-output-text {\r\n                font-size: 1.2rem;\r\n                white-space: normal;\r\n                word-break: break-word;\r\n                overflow-wrap: break-word;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n    <script>\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            \/\/ DOM References\r\n            const inputEl = document.getElementById('weirdInput');\r\n            const gridEl = document.getElementById('weirdOutputGrid');\r\n            const btnLoadMore = document.getElementById('btnLoadMoreWeird');\r\n            \r\n            \/\/ Action Toolbar Elements\r\n            const btnPaste = document.getElementById('btnPasteWeird');\r\n            const btnSelectAll = document.getElementById('btnSelectAllWeird');\r\n            const btnCopyInput = document.getElementById('btnCopyInputWeird');\r\n            const btnClear = document.getElementById('btnClearWeird');\r\n\r\n            \/\/ Pagination settings\r\n            \/\/ With exactly 2 columns, loading 3 rows requires 6 cards per increment.\r\n            const initialVisibleCount = 6; \r\n            const loadIncrement = 6;       \r\n            let currentVisible = initialVisibleCount;\r\n            let cardRefs =[];\r\n\r\n            \/\/ --- WEIRD TEXT GENERATORS LOGIC ---\r\n            \r\n            \/\/ 1. Alternating (Spongebob) Case\r\n            const altCase = (str) => str.split('').map((c, i) => i % 2 === 0 ? c.toLowerCase() : c.toUpperCase()).join('');\r\n            \r\n            \/\/ 2. Wide \/ Vaporwave Text\r\n            const wideText = (str) => str.split('').map(c => {\r\n                let code = c.charCodeAt(0);\r\n                return (code >= 33 && code <= 126) ? String.fromCharCode(code + 65248) : c;\r\n            }).join('');\r\n\r\n            \/\/ 3. Upside Down Text\r\n            const flipMap = {\r\n                a:'\u0250',b:'q',c:'\u0254',d:'p',e:'\u01dd',f:'\u025f',g:'\u0183',h:'\u0265',i:'\u1d09',j:'\u027e',k:'\u029e',l:'l',m:'\u026f',n:'u',o:'o',p:'d',q:'b',r:'\u0279',s:'s',t:'\u0287',u:'n',v:'\u028c',w:'\u028d',x:'x',y:'\u028e',z:'z',\r\n                A:'\u2200',B:'\ud801\udc12',C:'\u0186',D:'\u25d6',E:'\u018e',F:'\u2132',G:'\u2141',H:'H',I:'I',J:'\u017f',K:'\u22ca',L:'\u02e5',M:'W',N:'N',O:'O',P:'\u0500',Q:'\u038c',R:'\u1d1a',S:'S',T:'\u22a5',U:'\u2229',V:'\u039b',W:'M',X:'X',Y:'\u2144',Z:'Z',\r\n                '1':'\u0196','2':'\u1105','3':'\u0190','4':'\u3123','5':'\u03db','6':'9','7':'\u3125','8':'8','9':'6','0':'0',\r\n                '.':'\u02d9',',':\"'\", \"'\":',', '\"':',,', '!':'\u00a1', '?':'\u00bf', '<':'>', '>':'<'\r\n            };\r\n            const upsideDown = (str) => str.split('').reverse().map(c => flipMap[c] || c).join('');\r\n\r\n            \/\/ 4. L33T Speak\r\n            const leetMap = {'a':'4','e':'3','i':'1','o':'0','s':'5','t':'7','l':'1','A':'4','E':'3','I':'1','O':'0','S':'5','T':'7','L':'1'};\r\n            const leetSpeak = (str) => str.split('').map(c => leetMap[c] || c).join('');\r\n\r\n            \/\/ 5. OwOify \/ Furry speak\r\n            const owoify = (str) => {\r\n                let s = str.replace(\/[rl]\/g, 'w').replace(\/[RL]\/g, 'W');\r\n                const owoFaces =[' (owo)', ' (uwu)', ' >w<', ' ^w^'];\r\n                return s + owoFaces[Math.floor(Math.random() * owoFaces.length)];\r\n            };\r\n\r\n            \/\/ 6. Mild Zalgo (Cursed)\r\n            const zChars =['\\u030d','\\u030e','\\u0304','\\u0305','\\u033f','\\u0311','\\u0315','\\u031b','\\u0320','\\u0321','\\u0322','\\u0316','\\u0317','\\u0318'];\r\n            const mildZalgo = (str) => str.split('').map(c => c !== ' ' ? c + zChars[Math.floor(Math.random()*zChars.length)] + zChars[Math.floor(Math.random()*zChars.length)] : c).join('');\r\n\r\n            \/\/ Array of 6 distinct weird foundations\r\n            const baseStyles =[\r\n                { id: \"MoCkInG\", fn: altCase },\r\n                { id: \"Vaporwave\", fn: wideText },\r\n                { id: \"UpsideDown\", fn: upsideDown },\r\n                { id: \"H4CK3R\", fn: leetSpeak },\r\n                { id: \"OwOify\", fn: owoify },\r\n                { id: \"Haunted\", fn: mildZalgo }\r\n            ];\r\n\r\n            \/\/ 50 Extremely Weird Decors \/ Wrappers (6 * 50 = 300)\r\n            const decors =[\r\n                { l:\"\", r:\"\", name:\"Pure Weirdness\" }, { l:\"\ud83d\udc41\ufe0f\ud83d\udc44\ud83d\udc41\ufe0f \", r:\" \ud83d\udc41\ufe0f\ud83d\udc44\ud83d\udc41\ufe0f\", name:\"Staring\" }, { l:\"(\u256f\u00b0\u25a1\u00b0)\u256f\ufe35 \", r:\"\", name:\"Table Flip\" },\r\n                { l:\"\u2728 \", r:\" \u2728\", name:\"Sparkle Magic\" }, { l:\"\u00af\\\\_(\u30c4)_\/\u00af \", r:\"\", name:\"Shrug\" }, { l:\"\ud83d\udc7d \", r:\" \ud83d\udc7d\", name:\"Alien\" },\r\n                { l:\"[ \", r:\" ]\", name:\"Bracketed\" }, { l:\"~ \", r:\" ~\", name:\"Wavy\" }, { l:\"\u2620\ufe0f \", r:\" \u2620\ufe0f\", name:\"Toxic\" },\r\n                { l:\"\u0295\u2022\u1d25\u2022\u0294 \", r:\"\", name:\"Bear Hug\" }, { l:\"\ud83c\udf44 \", r:\" \ud83c\udf44\", name:\"Shroom\" }, { l:\"( \u0361\u00b0 \u035c\u0296 \u0361\u00b0) \", r:\"\", name:\"Lenny\" },\r\n                { l:\"| \", r:\" |\", name:\"Trapped\" }, { l:\"\ud83c\udf08 \", r:\" \ud83c\udf08\", name:\"Rainbow\" }, { l:\"\u273f \", r:\" \u273f\", name:\"Flower Child\" },\r\n                { l:\"(\u0e07'\u0300-'\u0301)\u0e07 \", r:\"\", name:\"Fight Me\" }, { l:\"-=- \", r:\" -=-\", name:\"Dashed\" }, { l:\"\ud83e\udd21 \", r:\" \ud83e\udd21\", name:\"Clown\" },\r\n                { l:\"\u3010 \", r:\" \u3011\", name:\"Heavy Brackets\" }, { l:\"\u0f3c \u3064 \u25d5_\u25d5 \u0f3d\u3064 \", r:\"\", name:\"Gib Text\" }, { l:\"\ud83d\udd25 \", r:\" \ud83d\udd25\", name:\"Fire\" },\r\n                { l:\"\u00b0\u02d6\u2727 \", r:\" \u2727\u02d6\u00b0\", name:\"Anime Shine\" }, { l:\"x \", r:\" x\", name:\"Crossed\" }, { l:\"= \", r:\" =\", name:\"Equation\" },\r\n                { l:\"# \", r:\" #\", name:\"Hashtagged\" }, { l:\"\/\/ \", r:\" \/\/\", name:\"Comments\" }, { l:\"<3 \", r:\" <3\", name:\"Retro Heart\" },\r\n                { l:\"(\u2565\ufe4f\u2565) \", r:\"\", name:\"Crying\" }, { l:\"< \", r:\" >\", name:\"Pinched\" }, { l:\"+ \", r:\" +\", name:\"Math Weirdo\" },\r\n                { l:\"_ \", r:\" _\", name:\"Ground Level\" }, { l:\",, \", r:\" ,,\", name:\"Creeping\" }, { l:\"^ \", r:\" ^\", name:\"Pointy\" },\r\n                { l:\"\u2022. \", r:\" .\u2022\", name:\"Minimalist\" }, { l:\"|| \", r:\" ||\", name:\"Double Trapped\" }, { l:\"*\", r:\"*\", name:\"Asterisk\" },\r\n                { l:\"(\u261e\uff9f\u2200\uff9f)\u261e \", r:\"\", name:\"Check It\" }, { l:\"- - \", r:\" - -\", name:\"Stutter\" }, { l:\".: \", r:\" :.\", name:\"Code\" },\r\n                { l:\"\ud83d\udc7e \", r:\" \ud83d\udc7e\", name:\"Invader\" }, { l:\"\u00bb \", r:\" \u00ab\", name:\"Quotes\" }, { l:\"(\u2310\u25a0_\u25a0) \", r:\"\", name:\"Cool Guy\" },\r\n                { l:\"*\u00b0 \", r:\" \u00b0*\", name:\"Snowflake\" }, { l:\"\u0ca0_\u0ca0 \", r:\"\", name:\"Disapproval\" }, { l:\"v \", r:\" v\", name:\"Downward\" },\r\n                { l:\"' \", r:\" '\", name:\"Singled\" }, { l:\"\\\" \", r:\" \\\"\", name:\"Doubled\" }, { l:\"\/ \", r:\" \\\\\", name:\"Slanted\" },\r\n                { l:\"~\u00b0 \", r:\" \u00b0~\", name:\"Windy\" }, { l:\"-\u00b7 \", r:\" \u00b7-\", name:\"Morseish\" }\r\n            ];\r\n\r\n            const configs =[];\r\n            \r\n            decors.forEach(decor => {\r\n                baseStyles.forEach(base => {\r\n                    configs.push({\r\n                        name: `${decor.name} \/ ${base.id}`,\r\n                        generator: (text) => decor.l + base.fn(text) + decor.r\r\n                    });\r\n                });\r\n            });\r\n\r\n            \/\/ Fast DOM Builder for Glassmorphism UI\r\n            function initGrid() {\r\n                const initialText = \"make it weird\";\r\n                \r\n                configs.forEach((cfg, index) => {\r\n                    const card = document.createElement('div');\r\n                    card.className = `glass-card ${index >= currentVisible ? 'gl-hidden' : ''}`;\r\n                    card.dataset.index = index;\r\n\r\n                    \/\/ Inner layout built around 2 columns requirement (horizontal inner flex flow)\r\n                    card.innerHTML = `\r\n                        <div class=\"card-data-left\">\r\n                            <div class=\"glass-card-badge\">\r\n                                <span>#${index + 1}<\/span> ${cfg.name}\r\n                            <\/div>\r\n                            <div class=\"glass-output-text\" id=\"weird-out-${index}\"><\/div>\r\n                        <\/div>\r\n                        <button class=\"glass-copy-btn\" id=\"weird-copy-${index}\" title=\"Copy Output\">\r\n                            <svg width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"><\/rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"><\/path><\/svg>\r\n                        <\/button>\r\n                    `;\r\n                    \r\n                    gridEl.appendChild(card);\r\n                    \r\n                    cardRefs.push({\r\n                        container: card,\r\n                        textNode: document.getElementById(`weird-out-${index}`),\r\n                        copyBtn: document.getElementById(`weird-copy-${index}`),\r\n                        generator: cfg.generator\r\n                    });\r\n\r\n                    \/\/ Assign Click logic to action buttons\r\n                    cardRefs[index].copyBtn.addEventListener('click', () => {\r\n                        const txtToCopy = cardRefs[index].textNode.textContent;\r\n                        navigator.clipboard.writeText(txtToCopy).then(() => {\r\n                            const btn = cardRefs[index].copyBtn;\r\n                            const ogHTML = btn.innerHTML;\r\n                            btn.innerHTML = `<svg width=\"22\" height=\"22\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg>`;\r\n                            btn.classList.add('copied-state');\r\n                            setTimeout(() => {\r\n                                btn.innerHTML = ogHTML;\r\n                                btn.classList.remove('copied-state');\r\n                            }, 1500);\r\n                        });\r\n                    });\r\n                });\r\n                \r\n                \/\/ Initialize Generation\r\n                updateTextGenerations(initialText);\r\n            }\r\n\r\n            \/\/ Realtime Update logic\r\n            function updateTextGenerations(val) {\r\n                const txt = val.trim() || \"make it weird\";\r\n                for (let i = 0; i < currentVisible; i++) {\r\n                    cardRefs[i].textNode.textContent = cardRefs[i].generator(txt);\r\n                }\r\n            }\r\n\r\n            inputEl.addEventListener('input', (e) => {\r\n                updateTextGenerations(e.target.value);\r\n            });\r\n\r\n            \/\/ PASTE BUTTON: Enhanced with better fallbacks\r\n            btnPaste.addEventListener('click', async () => {\r\n                inputEl.focus(); \r\n                \r\n                \/\/ Try modern clipboard API first\r\n                try {\r\n                    if (navigator.clipboard && navigator.clipboard.readText) {\r\n                        const text = await navigator.clipboard.readText();\r\n                        if (text) {\r\n                            const start = inputEl.selectionStart;\r\n                            const end = inputEl.selectionEnd;\r\n                            inputEl.value = inputEl.value.substring(0, start) + text + inputEl.value.substring(end);\r\n                            inputEl.selectionStart = inputEl.selectionEnd = start + text.length;\r\n                            updateTextGenerations(inputEl.value);\r\n                            return;\r\n                        }\r\n                    }\r\n                } catch (err) {\r\n                    console.log('Clipboard API failed, trying fallback:', err);\r\n                }\r\n                \r\n                \/\/ Fallback: Try to trigger paste event\r\n                try {\r\n                    \/\/ Create a paste event\r\n                    const pasteEvent = new Event('paste', { bubbles: true, cancelable: true });\r\n                    inputEl.dispatchEvent(pasteEvent);\r\n                    \r\n                    \/\/ Alternative: Use document.execCommand as last resort\r\n                    setTimeout(() => {\r\n                        if (document.execCommand) {\r\n                            const success = document.execCommand('paste');\r\n                            if (success) {\r\n                                updateTextGenerations(inputEl.value);\r\n                                return;\r\n                            }\r\n                        }\r\n                        \r\n                        \/\/ If all else fails, show user-friendly message\r\n                        showPasteHelp();\r\n                    }, 100);\r\n                } catch (err) {\r\n                    console.log('Fallback paste failed:', err);\r\n                    showPasteHelp();\r\n                }\r\n            });\r\n            \r\n            function showPasteHelp() {\r\n                \/\/ Create a temporary help message instead of alert\r\n                const helpMsg = document.createElement('div');\r\n                helpMsg.style.cssText = `\r\n                    position: fixed;\r\n                    top: 20px;\r\n                    right: 20px;\r\n                    background: #8b5cf6;\r\n                    color: white;\r\n                    padding: 15px 20px;\r\n                    border-radius: 8px;\r\n                    font-size: 14px;\r\n                    z-index: 10000;\r\n                    box-shadow: 0 4px 12px rgba(0,0,0,0.15);\r\n                    max-width: 300px;\r\n                `;\r\n                helpMsg.innerHTML = `\r\n                    <strong>Paste Help:<\/strong><br>\r\n                    Press Ctrl+V (Windows) or Cmd+V (Mac) to paste text directly in the input field.\r\n                `;\r\n                document.body.appendChild(helpMsg);\r\n                \r\n                \/\/ Remove after 4 seconds\r\n                setTimeout(() => {\r\n                    if (helpMsg.parentNode) {\r\n                        helpMsg.parentNode.removeChild(helpMsg);\r\n                    }\r\n                }, 4000);\r\n            }\r\n\r\n            btnSelectAll.addEventListener('click', () => {\r\n                inputEl.select();\r\n            });\r\n\r\n            btnCopyInput.addEventListener('click', () => {\r\n                if(inputEl.value) {\r\n                    navigator.clipboard.writeText(inputEl.value);\r\n                    const ogHtml = btnCopyInput.innerHTML;\r\n                    btnCopyInput.innerHTML = `<svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg> Copied!`;\r\n                    setTimeout(() => btnCopyInput.innerHTML = ogHtml, 2000);\r\n                }\r\n            });\r\n\r\n            btnClear.addEventListener('click', () => {\r\n                inputEl.value = '';\r\n                updateTextGenerations('');\r\n                inputEl.focus();\r\n            });\r\n\r\n            \/\/ LOAD MORE: Increment exactly by 6 to cover exactly 3 rows\r\n            btnLoadMore.addEventListener('click', () => {\r\n                const prevVisible = currentVisible;\r\n                currentVisible += loadIncrement;\r\n                \r\n                if (currentVisible > configs.length) {\r\n                    currentVisible = configs.length;\r\n                }\r\n\r\n                const currentText = inputEl.value.trim() || \"make it weird\";\r\n\r\n                for (let i = prevVisible; i < currentVisible; i++) {\r\n                    cardRefs[i].container.classList.remove('gl-hidden');\r\n                    cardRefs[i].textNode.textContent = cardRefs[i].generator(currentText);\r\n                }\r\n\r\n                if (currentVisible >= configs.length) {\r\n                    document.querySelector('.glass-load-more-container').classList.add('gl-hidden');\r\n                }\r\n            });\r\n\r\n            \/\/ Initialization \r\n            initGrid();\r\n        });\r\n    <\/script>\r\n<\/div>\r\n\r\n<!-- <content section is starting -->\r\n\r\n<div>\r\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\r\n\r\n    <!-- SECTION 1 \u2014 WHITE BG + WHITE CARDS -->\r\n\r\n\r\n\r\n<section class=\"pg-fcs-section pg-fcs-sec1\">\r\n        <div class=\"pg-fcs-inner\">\r\n\r\n<\/div>\r\n\t<\/section>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n    <section class=\"pg-fcs-section pg-fcs-sec1\">\r\n        <div class=\"pg-fcs-inner\">\r\n            <h2 class=\"pg-fcs-heading\">What Makes This <span class=\"pg-fcs-kw\">Weird Text Generator<\/span> Different?<\/h2>\r\n            <p class=\"pg-fcs-sub\">Discover why thousands of creators use our weird text generator to produce truly bizarre, eye-catching Unicode text that breaks the mold \u2014 completely free.<\/p>\r\n            <div class=\"pg-fcs-grid\">\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(224,64,251,0.12);color:#e040fb;\"><i class=\"fa-solid fa-shuffle\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">20+ Bizarre Text Styles<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Upside-down, mirrored, bubble, wavy, boxed, circled, fullwidth \u2014 our weird text generator offers every strange Unicode format in one place.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(105,240,174,0.12);color:#69f0ae;\"><i class=\"fa-solid fa-wand-magic-sparkles\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Instant Weird Transformation<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Type your normal text and watch it morph into something completely bizarre instantly \u2014 our weird text generator works in real time with zero delay.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(255,145,0,0.12);color:#ff9100;\"><i class=\"fa-solid fa-copy\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">One-Click Copy & Paste<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Created your weird text? Hit copy and paste it into any social media bio, comment, or message \u2014 real Unicode works everywhere without issues.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(64,196,255,0.12);color:#40c4ff;\"><i class=\"fa-solid fa-shield-halved\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">100% Safe & Private<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Our weird text generator runs entirely in your browser \u2014 no servers, no tracking, no data collection. Your weird text stays completely private.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(255,82,82,0.12);color:#ff5252;\"><i class=\"fa-solid fa-display\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Works on Every Device<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Mobile, tablet, or desktop \u2014 our weird text generator renders every strange format perfectly on any screen, any browser, any operating system.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(179,136,255,0.12);color:#b388ff;\"><i class=\"fa-solid fa-infinity\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Unlimited Free Weirdness<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">No accounts, no limits, no fees. Generate as much weird text as you want with our weird text generator \u2014 it's free forever, no catch.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- SECTION 2 \u2014 PREVIOUS GRADIENT BG + GLASS CARDS -->\r\n    <section class=\"pg-fcs-section pg-fcs-sec2\">\r\n        <div class=\"pg-fcs-inner\">\r\n            <h2 class=\"pg-fcs-heading\">How Does Our <span class=\"pg-fcs-kw\">Weird Text Generator<\/span> Work?<\/h2>\r\n            <p class=\"pg-fcs-sub\">Creating weird text is refreshingly simple. No technical skills needed \u2014 just follow these steps and transform your text into something wonderfully strange.<\/p>\r\n            <div class=\"pg-fcs-grid\">\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\u270f\ufe0f<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 1: Type Your Normal Text<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Enter any word, sentence, or paragraph into the input box of our weird text generator \u2014 perfectly normal text becomes beautifully bizarre.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83c\udfad<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 2: Pick a Weird Style<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Browse through upside-down, mirrored, bubble, wavy, fullwidth, mono, double-struck, and more \u2014 each style creates a uniquely weird look.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83e\ude9e<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 3: Preview the Weirdness<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Your text instantly transforms using real Unicode mapping \u2014 see a live preview of exactly how your weird text will appear when pasted online.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83d\udccb<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 4: Copy Your Result<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Love the weird output? Click the copy button and your bizarre text goes straight to clipboard \u2014 pure Unicode, no formatting lost ever.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83c\udf10<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 5: Paste Anywhere<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Drop your weird text into Instagram bios, TikTok comments, Discord names, tweets, or messages \u2014 it renders natively on every platform.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <span class=\"pg-fcs-emoji\">\ud83d\udd00<\/span>\r\n                    <div class=\"pg-fcs-card-title\">Step 6: Mix & Combine Styles<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Get creative by combining different weird formats \u2014 mix upside-down with bubble, or mirror with wavy for truly one-of-a-kind bizarre text.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- SECTION 3 \u2014 WHITE BG + SOFT GRAY CARDS -->\r\n    <section class=\"pg-fcs-section pg-fcs-sec3\">\r\n        <div class=\"pg-fcs-inner\">\r\n            <h2 class=\"pg-fcs-heading\">Where Can You Use <span class=\"pg-fcs-kw\">Weird Text Generator<\/span> Results?<\/h2>\r\n            <p class=\"pg-fcs-sub\">Our weird text generator produces real Unicode that renders on virtually every platform. Here are the most popular ways creators use bizarre text to stand out.<\/p>\r\n            <div class=\"pg-fcs-grid\">\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(245,0,87,0.12);color:#f50057;\"><i class=\"fa-brands fa-instagram\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Instagram Bio & Captions<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Make your Instagram profile impossible to ignore \u2014 weird text in bios and captions creates instant curiosity and makes followers stop scrolling.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(255,0,80,0.10);color:#ff0050;\"><i class=\"fa-brands fa-tiktok\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">TikTok Captions & Comments<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Weird text in TikTok captions drives engagement \u2014 the unusual formatting makes viewers pause, read, and interact with your content more.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(101,31,255,0.12);color:#651fff;\"><i class=\"fa-brands fa-discord\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Discord Names & Status<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Stand out in any Discord server with a weird username or custom status \u2014 mirrored and upside-down text is perfect for fun community servers.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(0,176,255,0.12);color:#00b0ff;\"><i class=\"fa-brands fa-twitter\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Twitter \/ X Posts & Bio<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Weird text in tweets and X bios breaks the visual monotony of timelines \u2014 your posts become unmissable among hundreds of normal text tweets.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(105,240,174,0.10);color:#69f0ae;\"><i class=\"fa-brands fa-youtube\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">YouTube Titles & Descriptions<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Use weird text in YouTube video titles to boost click-through rates \u2014 the unusual formatting creates mystery and draws viewers in instantly.<\/p>\r\n                <\/div>\r\n                <div class=\"pg-fcs-card\">\r\n                    <div class=\"pg-fcs-icon\" style=\"background:rgba(224,64,251,0.10);color:#e040fb;\"><i class=\"fa-solid fa-user-astronaut\"><\/i><\/div>\r\n                    <div class=\"pg-fcs-card-title\">Gaming Usernames & Profiles<\/div>\r\n                    <p class=\"pg-fcs-card-desc\">Create unforgettable gaming usernames using weird text formats \u2014 mirrored, upside-down, and bubble text work in Roblox, Minecraft, and most games.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <style>\r\n        *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}\r\n        :root{\r\n            --accent-pink:#e040fb;--accent-mint:#69f0ae;--accent-amber:#ff9100;\r\n            --accent-sky:#40c4ff;--accent-coral:#ff5252;--accent-lavender:#b388ff;\r\n            --text-dark:#0a0a0a;--text-primary:#1a1a1a;--text-muted:#4a4a5a;\r\n            --grad-weird:linear-gradient(135deg,#e040fb,#40c4ff,#69f0ae);\r\n            --theme-bg-alt:rgba(244,248,252,0.7);\r\n            --shadow-card:0 4px 15px rgba(224,64,251,0.06);\r\n            --shadow-card-hover:0 12px 30px rgba(224,64,251,0.14);\r\n            --tr:all .35s cubic-bezier(.2,.8,.2,1);\r\n            --ff:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif\r\n        }\r\n        .pg-fcs-section{width:100%;padding:clamp(48px,8vw,96px) 20px;position:relative;overflow:hidden;font-family:var(--ff);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}\r\n        .pg-fcs-inner{max-width:1200px;margin:0 auto}\r\n        .pg-fcs-heading{font-family:var(--ff);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;text-align:center;color:var(--text-dark);margin-bottom:clamp(8px,1.5vw,14px);line-height:1.2;letter-spacing:-.03em}\r\n        .pg-fcs-kw{color:var(--accent-pink);position:relative}\r\n        .pg-fcs-kw::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:3px;background:var(--grad-weird);border-radius:3px;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1)}\r\n        .pg-fcs-section:hover .pg-fcs-kw::after{transform:scaleX(1)}\r\n        .pg-fcs-sub{font-family:var(--ff);font-size:clamp(.88rem,1.8vw,1.02rem);font-weight:400;text-align:center;color:var(--text-muted);max-width:660px;margin:0 auto clamp(32px,5vw,56px);line-height:1.7}\r\n        .pg-fcs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,26px)}\r\n        .pg-fcs-card{border-radius:16px;padding:clamp(22px,3vw,32px);position:relative;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;transition:var(--tr);border:1px solid transparent}\r\n        .pg-fcs-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--grad-weird);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1);z-index:2}\r\n        .pg-fcs-card::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(224,64,251,.08) 0%,rgba(64,196,255,.03) 60%,transparent 100%);transform:translate(-50%,-50%);transition:width .55s ease-out,height .55s ease-out,opacity .55s ease-out;opacity:0;z-index:1;pointer-events:none}\r\n        .pg-fcs-card:hover::before{transform:scaleX(1)}\r\n        .pg-fcs-card.pg-fcs-pressed{transform:translateY(-1px) scale(.985)!important}\r\n        .pg-fcs-card.pg-fcs-pressed::before{transform:scaleX(1)}\r\n        .pg-fcs-card.pg-fcs-ripple::after{width:320px;height:320px;opacity:1}\r\n        .pg-fcs-card.pg-fcs-ripple-out::after{width:320px;height:320px;opacity:0}\r\n        .pg-fcs-icon{width:clamp(46px,5vw,58px);height:clamp(46px,5vw,58px);min-width:46px;min-height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:clamp(18px,2.5vw,24px);margin-bottom:clamp(14px,2vw,20px);transition:var(--tr);position:relative;z-index:3}\r\n        .pg-fcs-card:hover .pg-fcs-icon{transform:scale(1.12) rotate(-4deg)}\r\n        .pg-fcs-card.pg-fcs-pressed .pg-fcs-icon{transform:scale(1.04) rotate(0deg)}\r\n        .pg-fcs-emoji{font-size:clamp(28px,3.5vw,36px);margin-bottom:clamp(12px,1.8vw,16px);display:inline-block;transition:var(--tr);position:relative;z-index:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}\r\n        .pg-fcs-card:hover .pg-fcs-emoji{transform:scale(1.22) rotate(-6deg)}\r\n        .pg-fcs-card.pg-fcs-pressed .pg-fcs-emoji{transform:scale(1.08) rotate(0deg)}\r\n        .pg-fcs-card-title{font-family:var(--ff);font-size:clamp(.95rem,2vw,1.1rem);font-weight:700;color:var(--text-dark);margin-bottom:clamp(6px,1vw,10px);line-height:1.35;position:relative;z-index:3}\r\n        .pg-fcs-card-desc{font-family:var(--ff);font-size:clamp(.8rem,1.5vw,.9rem);font-weight:400;color:var(--text-muted);line-height:1.65;position:relative;z-index:3}\r\n\r\n        \/* SEC 1 \u2014 WHITE + DARK TEXT *\/\r\n        .pg-fcs-sec1{background:#fff}\r\n        .pg-fcs-sec1 .pg-fcs-card{background:#fff;border-color:rgba(224,64,251,.08);box-shadow:0 2px 12px rgba(224,64,251,.04)}\r\n        .pg-fcs-sec1 .pg-fcs-card:hover{border-color:var(--accent-pink);box-shadow:var(--shadow-card-hover);transform:translateY(-5px)}\r\n        .pg-fcs-sec1 .pg-fcs-sub{color:#2a2a2a}\r\n        .pg-fcs-sec1 .pg-fcs-card-title{color:#0a0a0a}\r\n        .pg-fcs-sec1 .pg-fcs-card-desc{color:#2a2a2a}\r\n\r\n        \/* SEC 2 \u2014 PREVIOUS GRADIENT *\/\r\n        .pg-fcs-sec2{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}\r\n        .pg-fcs-sec2 .pg-fcs-heading{color:#fff}\r\n        .pg-fcs-sec2 .pg-fcs-kw{color:#ffd700}\r\n        .pg-fcs-sec2 .pg-fcs-kw::after{background:linear-gradient(90deg,#667eea,#764ba2,#ffd700)}\r\n        .pg-fcs-sec2 .pg-fcs-sub{color:rgba(255,255,255,.8)}\r\n        .pg-fcs-sec2 .pg-fcs-card{background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px rgba(0,0,0,.12)}\r\n        .pg-fcs-sec2 .pg-fcs-card::before{background:linear-gradient(90deg,#667eea,#764ba2,#ffd700)}\r\n        .pg-fcs-sec2 .pg-fcs-card:hover{border-color:rgba(255,255,255,.7);box-shadow:0 12px 40px rgba(118,75,162,.3);transform:translateY(-5px)}\r\n        .pg-fcs-sec2 .pg-fcs-card::after{background:radial-gradient(circle,rgba(118,75,162,.1) 0%,rgba(102,126,234,.05) 60%,transparent 100%)}\r\n\r\n        \/* SEC 3 \u2014 WHITE + SOFT GRAY *\/\r\n        .pg-fcs-sec3{background:#fff}\r\n        .pg-fcs-sec3 .pg-fcs-card{background:var(--theme-bg-alt);border-color:rgba(224,64,251,.06);box-shadow:0 2px 10px rgba(224,64,251,.03)}\r\n        .pg-fcs-sec3 .pg-fcs-card::before{background:linear-gradient(90deg,#e040fb,#40c4ff,#69f0ae)}\r\n        .pg-fcs-sec3 .pg-fcs-card:hover{border-color:var(--accent-pink);box-shadow:var(--shadow-card-hover);transform:translateY(-5px)}\r\n\r\n        \/* RESPONSIVE *\/\r\n        @media(max-width:820px){.pg-fcs-grid{grid-template-columns:repeat(2,1fr);gap:16px}.pg-fcs-section{padding:clamp(36px,6vw,64px) 16px}}\r\n        @media(max-width:540px){.pg-fcs-grid{grid-template-columns:1fr;gap:14px}.pg-fcs-card{padding:22px}.pg-fcs-sub{margin-bottom:28px}}\r\n        @media(max-width:360px){.pg-fcs-section{padding:32px 12px}.pg-fcs-card{padding:18px;border-radius:12px}}\r\n    <\/style>\r\n\r\n    <script>\r\n    (function(){\r\n        var c=document.querySelectorAll('.pg-fcs-card');\r\n        c.forEach(function(card){\r\n            function ripple(el){\r\n                el.classList.remove('pg-fcs-ripple','pg-fcs-ripple-out');\r\n                void el.offsetWidth;\r\n                el.classList.add('pg-fcs-ripple');\r\n                setTimeout(function(){el.classList.add('pg-fcs-ripple-out')},300);\r\n                setTimeout(function(){el.classList.remove('pg-fcs-ripple','pg-fcs-ripple-out')},700);\r\n            }\r\n            card.addEventListener('mousedown',function(){card.classList.add('pg-fcs-pressed')});\r\n            card.addEventListener('mouseup',function(){setTimeout(function(){card.classList.remove('pg-fcs-pressed')},120);ripple(card)});\r\n            card.addEventListener('mouseleave',function(){card.classList.remove('pg-fcs-pressed','pg-fcs-ripple','pg-fcs-ripple-out')});\r\n            card.addEventListener('touchstart',function(){card.classList.add('pg-fcs-pressed');ripple(card)},{passive:true});\r\n            card.addEventListener('touchend',function(){setTimeout(function(){card.classList.remove('pg-fcs-pressed')},150)});\r\n            card.addEventListener('touchcancel',function(){card.classList.remove('pg-fcs-pressed','pg-fcs-ripple','pg-fcs-ripple-out')});\r\n        });\r\n    })();\r\n    <\/script>\r\n<\/div>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-452","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>G\u00e9n\u00e9rateur de texte bizarre \u2013 Transformez instantan\u00e9ment<\/title>\n<meta name=\"description\" content=\"Transformez du texte normal en symboles \u00e9tranges gr\u00e2ce \u00e0 notre g\u00e9n\u00e9rateur de texte bizarre gratuit. Id\u00e9al pour les noms d&#039;utilisateur, les bios et les publications\u00a0: copiez et collez en un clic.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/onlinetexteditor.io\/fr\/weird-text-generator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Weird Text Generator \u2013 Transform Instantly\" \/>\n<meta property=\"og:description\" content=\"Turn normal text into weird symbols with our free Weird Text Generator. Great for usernames, bios, and posts \u2014 copy &amp; paste in one click.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/onlinetexteditor.io\/weird-text-generator\/\" \/>\n<meta property=\"og:site_name\" content=\"Online Text Editor\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-06T05:17:24+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/weird-text-generator\\\/\",\"url\":\"https:\\\/\\\/onlinetexteditor.io\\\/weird-text-generator\\\/\",\"name\":\"Weird Text Generator \u2013 Transform Instantly\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/#website\"},\"datePublished\":\"2026-03-06T00:00:29+00:00\",\"dateModified\":\"2026-04-06T05:17:24+00:00\",\"description\":\"Turn normal text into weird symbols with our free Weird Text Generator. Great for usernames, bios, and posts \u2014 copy & paste in one click.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/weird-text-generator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/onlinetexteditor.io\\\/weird-text-generator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/weird-text-generator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/onlinetexteditor.io\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Weird Text Generator \u2013 Transform Instantly\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/#website\",\"url\":\"https:\\\/\\\/onlinetexteditor.io\\\/\",\"name\":\"Online Text Editor\",\"description\":\"Free &amp; Secure Rich Text Editing\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/onlinetexteditor.io\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"G\u00e9n\u00e9rateur de texte bizarre \u2013 Transformez instantan\u00e9ment","description":"Transformez du texte normal en symboles \u00e9tranges gr\u00e2ce \u00e0 notre g\u00e9n\u00e9rateur de texte bizarre gratuit. Id\u00e9al pour les noms d&#39;utilisateur, les bios et les publications\u00a0: copiez et collez en un clic.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/onlinetexteditor.io\/fr\/weird-text-generator\/","og_locale":"en_US","og_type":"article","og_title":"Weird Text Generator \u2013 Transform Instantly","og_description":"Turn normal text into weird symbols with our free Weird Text Generator. Great for usernames, bios, and posts \u2014 copy & paste in one click.","og_url":"https:\/\/onlinetexteditor.io\/weird-text-generator\/","og_site_name":"Online Text Editor","article_modified_time":"2026-04-06T05:17:24+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/onlinetexteditor.io\/weird-text-generator\/","url":"https:\/\/onlinetexteditor.io\/weird-text-generator\/","name":"Weird Text Generator \u2013 Transform Instantly","isPartOf":{"@id":"https:\/\/onlinetexteditor.io\/#website"},"datePublished":"2026-03-06T00:00:29+00:00","dateModified":"2026-04-06T05:17:24+00:00","description":"Turn normal text into weird symbols with our free Weird Text Generator. Great for usernames, bios, and posts \u2014 copy & paste in one click.","breadcrumb":{"@id":"https:\/\/onlinetexteditor.io\/weird-text-generator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/onlinetexteditor.io\/weird-text-generator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/onlinetexteditor.io\/weird-text-generator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/onlinetexteditor.io\/"},{"@type":"ListItem","position":2,"name":"Weird Text Generator \u2013 Transform Instantly"}]},{"@type":"WebSite","@id":"https:\/\/onlinetexteditor.io\/#website","url":"https:\/\/onlinetexteditor.io\/","name":"Online Text Editor","description":"Free &amp; Secure Rich Text Editing","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/onlinetexteditor.io\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/onlinetexteditor.io\/fr\/wp-json\/wp\/v2\/pages\/452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/onlinetexteditor.io\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/onlinetexteditor.io\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/onlinetexteditor.io\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/onlinetexteditor.io\/fr\/wp-json\/wp\/v2\/comments?post=452"}],"version-history":[{"count":3,"href":"https:\/\/onlinetexteditor.io\/fr\/wp-json\/wp\/v2\/pages\/452\/revisions"}],"predecessor-version":[{"id":455,"href":"https:\/\/onlinetexteditor.io\/fr\/wp-json\/wp\/v2\/pages\/452\/revisions\/455"}],"wp:attachment":[{"href":"https:\/\/onlinetexteditor.io\/fr\/wp-json\/wp\/v2\/media?parent=452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}