{"id":86503,"date":"2026-10-20T11:07:31","date_gmt":"2026-10-20T14:07:31","guid":{"rendered":"https:\/\/reportei.com\/flux\/linkedin-text-formatter\/"},"modified":"2026-10-27T09:19:06","modified_gmt":"2026-10-27T12:19:06","slug":"linkedin-text-formatter","status":"publish","type":"page","link":"https:\/\/reportei.com\/en\/flux\/linkedin-text-formatter\/","title":{"rendered":"LinkedIn Text Formatter"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"86503\" class=\"elementor elementor-86503 elementor-86502 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-8e35adf e-con-full e-ecs-flex e-flex e-con e-parent\" data-id=\"8e35adf\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ecs_container_type&quot;:&quot;flex&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9bc5bd6 elementor-widget elementor-widget-html\" data-id=\"9bc5bd6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.flux-translated-header{position:fixed;z-index:9999;top:0;left:0;width:100%;background:#fff;border-bottom:1px solid #edf1f8;font:14px\/1.4 Inter,Arial,sans-serif;color:#23458d}.flux-translated-inner{box-sizing:border-box;max-width:1240px;margin:auto;padding:10px 20px;display:flex;align-items:center;gap:24px;height:96px}.flux-translated-header a{color:#23458d;text-decoration:none}.flux-translated-logo{margin-right:auto;flex-shrink:0}.flux-translated-logo img{display:block;width:180px;height:74px;object-fit:cover}.flux-translated-desktop{display:flex;align-items:center;gap:22px}.flux-translated-header .flux-cta{padding:12px 18px;background:#2f64e0;color:white;border-radius:9px;white-space:nowrap}.flux-translated-header details{position:relative}.flux-translated-header summary{cursor:pointer;list-style:none}.flux-translated-header summary::-webkit-details-marker{display:none}.flux-translated-header .flux-language-links{display:flex;gap:8px;flex-direction:column;position:absolute;top:30px;right:0;background:white;border:1px solid #e5e9f1;border-radius:10px;min-width:125px;padding:14px;box-shadow:0 8px 20px #23458d14}.flux-language-links a[aria-current=\"page\"]{font-weight:700}.flux-mobile-header .flux-language-links{display:flex;justify-content:space-between;gap:8px}.flux-translated-mobile{display:none}.flux-translated-header a:focus-visible,.flux-translated-header summary:focus-visible{outline:3px solid #2f64e0;outline-offset:4px}.flux-translated-header a:hover{text-decoration:underline}@media(max-width:1200px){.flux-translated-inner{height:72px;padding:5px 20px}.flux-translated-logo img{width:150px;height:62px}.flux-translated-desktop{display:none}.flux-translated-mobile{display:block!important;position:static!important}.flux-translated-mobile>summary{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:28px}.flux-translated-mobile>nav{position:absolute;top:71px;left:0;right:0;background:white;padding:12px 20px 24px;max-height:calc(100dvh - 82px);overflow:auto;box-shadow:0 12px 20px #23458d18}.flux-translated-mobile nav>a{display:block;padding:14px 12px;font-size:16px}.flux-translated-mobile .flux-language-links{position:static;flex-direction:row;justify-content:space-between;border:0;box-shadow:none;padding:14px 12px}.flux-translated-mobile .flux-cta{text-align:center;margin-top:10px}.flux-translated-mobile[open]>summary{font-size:0}.flux-translated-mobile[open]>summary:after{content:\"\u00d7\";font-size:32px}}<\/style><header class=\"flux-translated-header\"><div class=\"flux-translated-inner\"><a class=\"flux-translated-logo\" href=\"https:\/\/reportei.com\/en\/flux\/\" aria-label=\"Flux home\"><img decoding=\"async\" src=\"https:\/\/reportei.com\/wp-content\/uploads\/2026\/05\/Reportei-Flux-01.svg\" alt=\"Flux by Reportei\" width=\"180\" height=\"74\"><\/a><nav class=\"flux-translated-desktop\" aria-label=\"Flux\"><a href=\"https:\/\/reportei.com\/en\/flux\/integrations\/\">Integrations<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/features\/\">Features<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/#planos\">Plans and pricing<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/flux-ai\/\">Flux AI<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/mcp\/\">MCP and API<\/a><details><summary>English \u25be<\/summary><div class=\"flux-language-links\" aria-label=\"Languages\"><a href=\"https:\/\/reportei.com\/flux\/formatador-de-texto-linkedin\/\" hreflang=\"pt-br\" lang=\"pt-br\">Portugu\u00eas<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/linkedin-text-formatter\/\" hreflang=\"en\" lang=\"en\" aria-current=\"page\">English<\/a><a href=\"https:\/\/reportei.com\/es\/flux\/formateador-de-texto-linkedin\/\" hreflang=\"es\" lang=\"es\">Espa\u00f1ol<\/a><\/div><\/details><a href=\"https:\/\/flux.reportei.com\/\">Log in<\/a><a class=\"flux-cta\" data-cta=\"header\" href=\"https:\/\/flux.reportei.com\/signup?locale=en&amp;utm_source=flux_tools&amp;utm_medium=free_tool&amp;utm_campaign=linkedin_text_formatter&amp;utm_content=header\">Try free for 7 days<\/a><\/nav><details class=\"flux-translated-mobile\"><summary aria-label=\"Open or close menu\">\u2630<\/summary><nav onclick=\"if(event.target.closest('a'))this.closest('details').removeAttribute('open')\"><a href=\"https:\/\/reportei.com\/en\/flux\/integrations\/\">Integrations<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/features\/\">Features<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/#planos\">Plans and pricing<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/flux-ai\/\">Flux AI<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/mcp\/\">MCP and API<\/a><div class=\"flux-language-links\" aria-label=\"Languages\"><a href=\"https:\/\/reportei.com\/flux\/formatador-de-texto-linkedin\/\" hreflang=\"pt-br\" lang=\"pt-br\">Portugu\u00eas<\/a><a href=\"https:\/\/reportei.com\/en\/flux\/linkedin-text-formatter\/\" hreflang=\"en\" lang=\"en\" aria-current=\"page\">English<\/a><a href=\"https:\/\/reportei.com\/es\/flux\/formateador-de-texto-linkedin\/\" hreflang=\"es\" lang=\"es\">Espa\u00f1ol<\/a><\/div><a href=\"https:\/\/flux.reportei.com\/\">Log in<\/a><a class=\"flux-cta\" data-cta=\"header\" href=\"https:\/\/flux.reportei.com\/signup?locale=en&amp;utm_source=flux_tools&amp;utm_medium=free_tool&amp;utm_campaign=linkedin_text_formatter&amp;utm_content=header\">Try free for 7 days<\/a><\/nav><\/details><\/div><\/header><style>.ffx-hspace{height:120px}@media(max-width:1200px){.ffx-hspace{height:96px}}<\/style><div class=\"ffx-hspace\" aria-hidden=\"true\"><\/div><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&family=Quicksand:wght@600;700&display=swap\" rel=\"stylesheet\"><style>#ffx{--ink:#212B30;--ink-soft:#55626A;--paper:#fff;--mist:#FFF2FA;--violet:#6337CF;--violet-dark:#4B24A8;--magenta:#CD37B4;--line:#E6E1EC;--link:#0A66C2;--warn:#B3261E;--ok:#1E7A46;\n  color:var(--ink);font:400 16px\/1.55 Inter,system-ui,-apple-system,\"Segoe UI\",sans-serif;text-align:left;max-width:1160px;margin:0 auto;padding:8px 20px 0;box-sizing:border-box}\n#ffx *,#ffx *::before,#ffx *::after{box-sizing:border-box}\n#ffx :focus-visible{outline:3px solid var(--magenta);outline-offset:2px;border-radius:4px}\n#ffx a{color:var(--violet)}\n#ffx .ffx-intro{padding:8px 0 24px}\n#ffx h1{font:700 clamp(30px,4.4vw,46px)\/1.08 Quicksand,sans-serif;letter-spacing:-.02em;margin:0 0 12px;max-width:20ch;color:var(--ink)}\n#ffx .ffx-intro p{margin:0;max-width:62ch;color:var(--ink-soft);font-size:17px}\n#ffx .ffx-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;padding-bottom:36px}\n@media (max-width:900px){#ffx .ffx-work{grid-template-columns:1fr}}\n#ffx .ffx-ptitle{font:600 14px Inter,sans-serif;color:var(--ink-soft);margin:0 0 8px}\n#ffx .ffx-editor{border:1.5px solid var(--line);border-radius:14px;background:#fff;overflow:visible;position:relative}\n#ffx .ffx-editor:focus-within{border-color:var(--violet)}\n#ffx .ffx-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-bottom:1px solid var(--line);background:#FBFAFD;border-radius:14px 14px 0 0;align-items:center}\n#ffx .ffx-toolbar button,#ffx .ffx-menu>summary{font:600 14px Inter,sans-serif;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:8px;padding:7px 10px;min-width:38px;cursor:pointer;line-height:1.2;text-transform:none;letter-spacing:0;box-shadow:none}\n#ffx .ffx-toolbar button:hover,#ffx .ffx-menu>summary:hover{background:var(--mist);border-color:#F3D3EA;color:var(--ink)}\n#ffx .ffx-sep{width:1px;align-self:stretch;background:var(--line);margin:4px}\n#ffx .ffx-b{font-weight:800!important}#ffx .ffx-i{font-style:italic;font-weight:500!important}#ffx .ffx-bi{font-style:italic;font-weight:800!important}\n#ffx .ffx-m{font-family:ui-monospace,Menlo,monospace!important;font-weight:500!important}#ffx .ffx-u{text-decoration:underline}#ffx .ffx-s{text-decoration:line-through}\n#ffx .ffx-menu{position:relative}\n#ffx .ffx-menu>summary{list-style:none;display:inline-block}\n#ffx .ffx-menu>summary::-webkit-details-marker{display:none}\n#ffx .ffx-pop{position:absolute;z-index:30;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(33,43,48,.14);padding:6px;min-width:230px;max-height:340px;overflow:auto}\n#ffx .ffx-pop button{display:flex;width:100%;justify-content:space-between;gap:12px;font-weight:500!important;text-align:left;padding:8px 10px}\n#ffx .ffx-pop button span{color:var(--ink-soft);font-size:13px}\n#ffx .ffx-right{margin-left:auto}\n#ffx textarea{display:block;width:100%;min-height:340px;resize:vertical;border:0;padding:16px;font:400 16px\/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:#fff;border-radius:0;box-shadow:none;margin:0}\n#ffx textarea:focus{outline:none;box-shadow:none}\n#ffx .ffx-stats{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 16px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-soft);align-items:center}\n#ffx .ffx-stats strong{color:var(--ink);font-weight:600}\n#ffx .ffx-stats .ffx-over strong{color:var(--warn)}\n#ffx .ffx-stats select{font:500 14px Inter,sans-serif;border:1px solid var(--line);border-radius:8px;padding:4px 8px;color:var(--ink);background:#fff;width:auto;height:auto}\n#ffx .ffx-checks{list-style:none;margin:0;padding:0 16px 12px;font-size:14px}\n#ffx .ffx-checks li{padding:4px 0 4px 22px;position:relative;color:var(--ink)}\n#ffx .ffx-checks li::before{content:\"\";position:absolute;left:2px;top:11px;width:9px;height:9px;border-radius:50%;background:var(--magenta)}\n#ffx .ffx-checks li.ffx-good::before{background:var(--ok)}\n#ffx .ffx-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}\n#ffx .ffx-btn{font:600 16px Inter,sans-serif;border-radius:10px;padding:12px 18px;cursor:pointer;border:1.5px solid var(--violet);background:var(--violet);color:#fff;text-decoration:none;display:inline-block;line-height:1.2;text-transform:none;letter-spacing:0}\n#ffx .ffx-btn:hover{background:var(--violet-dark);border-color:var(--violet-dark);color:#fff}\n#ffx .ffx-btn.ffx-ghost{background:#fff;color:var(--violet)}\n#ffx .ffx-btn.ffx-ghost:hover{background:var(--mist);color:var(--violet)}\n#ffx .ffx-hint{font-size:14px;color:var(--ink-soft)}\n#ffx .ffx-opt{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink-soft);margin-top:12px}\n#ffx .ffx-opt input{width:16px;height:16px;accent-color:var(--violet);margin:0}\n#ffx .ffx-phead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:12px}\n#ffx .ffx-seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px}\n#ffx .ffx-seg button{font:500 13px Inter,sans-serif;border:0;background:transparent;color:var(--ink-soft);padding:5px 12px;border-radius:999px;cursor:pointer;text-transform:none;letter-spacing:0;line-height:1.3}\n#ffx .ffx-seg button[aria-pressed=\"true\"]{background:var(--ink);color:#fff}\n#ffx .ffx-post{border:1px solid #DCDCDC;border-radius:10px;background:#fff;padding:14px 16px 6px;font:400 14px\/1.43 -apple-system,system-ui,\"Segoe UI\",Roboto,sans-serif;color:rgba(0,0,0,.9);transition:max-width .2s ease}\n#ffx .ffx-post.ffx-mobile{max-width:380px}\n#ffx .ffx-who{display:flex;gap:10px;align-items:center;margin-bottom:10px}\n#ffx .ffx-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(140deg,#D9D2F3,#F6D5EC);flex:none}\n#ffx .ffx-who b{display:block;font-weight:600;font-size:14px}\n#ffx .ffx-who span{display:block;font-size:12px;color:rgba(0,0,0,.6);line-height:1.35}\n#ffx .ffx-body{white-space:pre-wrap;word-break:break-word}\n#ffx .ffx-tag{color:var(--link);font-weight:600}\n#ffx .ffx-collapsed .ffx-rest{display:none}\n#ffx .ffx-fold{display:block;position:relative;margin:10px 0;border-top:2px dashed var(--magenta);height:0}\n#ffx .ffx-fold span{position:absolute;right:0;top:-12px;background:#fff;color:var(--magenta);font:600 12px Inter,sans-serif;padding:0 0 0 8px}\n#ffx .ffx-seemore{color:rgba(0,0,0,.6);font-weight:600;cursor:pointer;background:none;border:0;padding:0;font:inherit;text-transform:none;letter-spacing:0}\n#ffx .ffx-pfoot{border-top:1px solid #EBEBEB;margin-top:12px;padding:8px 0 4px;display:flex;justify-content:space-around;color:rgba(0,0,0,.6);font-size:13px;font-weight:600}\n#ffx .ffx-empty{color:rgba(0,0,0,.6)}\n#ffx .ffx-fnote{font-size:13px;color:var(--ink-soft);margin:10px 0 0}\n#ffx .ffx-next{background:var(--mist);border-radius:18px;padding:28px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;border:1px solid #F3D3EA;transition:box-shadow .3s ease;margin:4px 0 48px}\n#ffx .ffx-next.ffx-lit{box-shadow:0 0 0 3px var(--magenta)}\n@media (max-width:760px){#ffx .ffx-next{grid-template-columns:1fr}}\n#ffx .ffx-next h2{font:700 26px\/1.15 Quicksand,sans-serif;margin:0 0 8px;letter-spacing:-.01em;color:var(--ink)}\n#ffx .ffx-next p{margin:0;color:var(--ink-soft);max-width:54ch}\n#ffx .ffx-next ul{margin:12px 0 0;padding-left:18px;color:var(--ink)}\n#ffx .ffx-cta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}\n#ffx .ffx-price{font-size:13px;color:var(--ink-soft)}\n@media (prefers-reduced-motion:reduce){#ffx *{transition:none!important}}\n\n\/* guide (content below the tool) *\/\n.ffx-guide{max-width:780px;margin:0 auto;padding:0 20px 56px;color:#212B30;font:400 17px\/1.7 Inter,system-ui,sans-serif;text-align:left}\n.ffx-guide h2{font:700 28px\/1.2 Quicksand,sans-serif;margin:44px 0 12px;letter-spacing:-.01em;color:#212B30}\n.ffx-guide h3{font:700 19px\/1.35 Inter,sans-serif;margin:26px 0 6px;color:#212B30}\n.ffx-guide p{margin:0 0 14px}\n.ffx-guide ul,.ffx-guide ol{margin:0 0 16px;padding-left:22px}\n.ffx-guide li{margin-bottom:6px}\n.ffx-guide table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px}\n.ffx-guide th,.ffx-guide td{border-bottom:1px solid #E6E1EC;padding:9px 8px;text-align:left;vertical-align:top}\n.ffx-guide th{font-weight:600;background:#FBFAFD}\n.ffx-guide .ffx-ex{background:#FFF2FA;border-radius:10px;padding:12px 14px;margin:6px 0 16px;white-space:pre-wrap;font-size:15px}\n.ffx-guide .ffx-upd{color:#55626A;font-size:14px}\n.ffx-guide a{color:#6337CF}\n<\/style><div id=\"ffx\" data-lang=\"en\">\n  <section class=\"ffx-intro\">\n    <h1>LinkedIn Text Formatter: bold, italic and bullet points for your posts<\/h1>\n    <p>Style your LinkedIn post, check where LinkedIn will hide the rest behind \u201csee more\u201d, and copy it ready to paste. Works with accents, lists and line breaks. Free, no sign-up.<\/p>\n  <\/section>\n\n  <div class=\"ffx-work\">\n    <section aria-labelledby=\"ffx-ed-title\">\n      <p class=\"ffx-ptitle\" id=\"ffx-ed-title\">Your post<\/p>\n      <div class=\"ffx-editor\">\n        <div class=\"ffx-toolbar\" role=\"toolbar\" aria-label=\"Text style\">\n          <button type=\"button\" class=\"ffx-b\" data-style=\"bold\" title=\"Bold (Ctrl\/Cmd + B)\" aria-label=\"Bold (B)\">B<\/button>\n          <button type=\"button\" class=\"ffx-i\" data-style=\"italic\" title=\"Italic (Ctrl\/Cmd + I)\" aria-label=\"Italic (I)\">I<\/button>\n          <button type=\"button\" class=\"ffx-bi\" data-style=\"boldItalic\" title=\"Bold italic (Ctrl\/Cmd + Shift + B)\" aria-label=\"Bold italic (BI)\">BI<\/button>\n          <button type=\"button\" class=\"ffx-u\" data-style=\"underline\" title=\"Underline (Ctrl\/Cmd + U)\" aria-label=\"Underline (U)\">U<\/button>\n          <button type=\"button\" class=\"ffx-s\" data-style=\"strike\" title=\"Strikethrough\" aria-label=\"Strikethrough (S)\">S<\/button>\n          <button type=\"button\" class=\"ffx-m\" data-style=\"mono\" title=\"Monospace\" aria-label=\"Monospace (M)\">M<\/button>\n          <details class=\"ffx-menu\">\n            <summary aria-label=\"More styles\">More styles<\/summary>\n            <div class=\"ffx-pop\" role=\"menu\">\n              <button type=\"button\" data-style=\"serifBold\" role=\"menuitem\">Serif bold <span>\ud835\udc00\ud835\udc1b\ud835\udc1c<\/span><\/button>\n              <button type=\"button\" data-style=\"serifItalic\" role=\"menuitem\">Serif italic <span>\ud835\udc34\ud835\udc4f\ud835\udc50<\/span><\/button>\n              <button type=\"button\" data-style=\"serifBoldItalic\" role=\"menuitem\">Serif bold italic <span>\ud835\udc68\ud835\udc83\ud835\udc84<\/span><\/button>\n              <button type=\"button\" data-style=\"script\" role=\"menuitem\">Script <span>\ud835\udcd0\ud835\udceb\ud835\udcec<\/span><\/button>\n              <button type=\"button\" data-style=\"fraktur\" role=\"menuitem\">Gothic <span>\ud835\udd6c\ud835\udd87\ud835\udd88<\/span><\/button>\n              <button type=\"button\" data-style=\"doubleStruck\" role=\"menuitem\">Double-struck <span>\ud835\udd38\ud835\udd53\ud835\udd54<\/span><\/button>\n              <button type=\"button\" data-style=\"smallCaps\" role=\"menuitem\">Small caps <span>A\u0299\u1d04<\/span><\/button>\n              <button type=\"button\" data-style=\"fullwidth\" role=\"menuitem\">Wide <span>\uff21\uff42\uff43<\/span><\/button>\n              <button type=\"button\" data-style=\"circled\" role=\"menuitem\">Circled <span>\u24b6\u24d1\u24d2<\/span><\/button>\n            <\/div>\n          <\/details>\n          <span class=\"ffx-sep\" aria-hidden=\"true\"><\/span>\n          <details class=\"ffx-menu\">\n            <summary aria-label=\"Lists\">Lists<\/summary>\n            <div class=\"ffx-pop\" role=\"menu\">\n              <button type=\"button\" data-list=\"\u2022\" role=\"menuitem\">Dots <span>\u2022<\/span><\/button>\n              <button type=\"button\" data-list=\"\u25aa\" role=\"menuitem\">Squares <span>\u25aa<\/span><\/button>\n              <button type=\"button\" data-list=\"\u2192\" role=\"menuitem\">Arrows <span>\u2192<\/span><\/button>\n              <button type=\"button\" data-list=\"\u2705\" role=\"menuitem\">Check marks <span>\u2705<\/span><\/button>\n              <button type=\"button\" data-list=\"number\" role=\"menuitem\">Numbers <span>1.<\/span><\/button>\n            <\/div>\n          <\/details>\n          <details class=\"ffx-menu\">\n            <summary aria-label=\"Hooks\">Hooks<\/summary>\n            <div class=\"ffx-pop\" role=\"menu\" id=\"ffx-hooks\"><\/div>\n          <\/details>\n          <details class=\"ffx-menu ffx-right\">\n            <summary aria-label=\"Clean up\">Clean up<\/summary>\n            <div class=\"ffx-pop\" role=\"menu\" style=\"left:auto;right:0\">\n              <button type=\"button\" data-style=\"plain\" role=\"menuitem\">Remove style<\/button>\n              <button type=\"button\" data-action=\"plainAll\" role=\"menuitem\">Remove all styles<\/button>\n              <button type=\"button\" data-action=\"markdown\" role=\"menuitem\">Convert Markdown<\/button>\n            <\/div>\n          <\/details>\n        <\/div>\n        <label for=\"ffx-text\" style=\"position:absolute;left:-9999px\">Your post<\/label>\n        <textarea id=\"ffx-text\" spellcheck=\"true\" placeholder=\"Write or paste your post. Select a word and press B to make it bold.\"><\/textarea>\n        <div class=\"ffx-stats\" aria-live=\"polite\">\n          <span id=\"ffx-st-chars\"><strong>0<\/strong> \/ 3,000<\/span>\n          <label>Where will you paste it?\n            <select id=\"ffx-where\">\n              <option value=\"post\">Post<\/option>\n              <option value=\"comment\">Comment<\/option>\n              <option value=\"headline\">Headline<\/option>\n              <option value=\"about\">About section<\/option>\n            <\/select>\n          <\/label>\n          <span><strong id=\"ffx-st-words\">0<\/strong> words<\/span>\n          <span><strong id=\"ffx-st-tags\">0<\/strong> hashtags<\/span>\n          <span id=\"ffx-st-fold\">\u201cSee more\u201d after <strong>\u2014<\/strong><\/span>\n        <\/div>\n        <ul class=\"ffx-checks\" id=\"ffx-checks\" aria-live=\"polite\"><\/ul>\n      <\/div>\n      <div class=\"ffx-actions\">\n        <button type=\"button\" class=\"ffx-btn\" id=\"ffx-copy\">Copy text<\/button>\n        <button type=\"button\" class=\"ffx-btn ffx-ghost\" id=\"ffx-sample\">Try an example<\/button>\n        <span class=\"ffx-hint\" id=\"ffx-msg\" role=\"status\"><\/span>\n      <\/div>\n      <label class=\"ffx-opt\"><input type=\"checkbox\" id=\"ffx-keep\"> Keep blank lines when pasting<\/label>\n    <\/section>\n\n    <section aria-labelledby=\"ffx-pv-title\">\n      <div class=\"ffx-phead\">\n        <p class=\"ffx-ptitle\" id=\"ffx-pv-title\" style=\"margin:0\">Preview in the feed<\/p>\n        <div class=\"ffx-seg\" role=\"group\" aria-label=\"Preview size\">\n          <button type=\"button\" data-view=\"desktop\" aria-pressed=\"true\">Desktop<\/button>\n          <button type=\"button\" data-view=\"mobile\" aria-pressed=\"false\">Mobile<\/button>\n        <\/div>\n      <\/div>\n      <article class=\"ffx-post\" id=\"ffx-post\">\n        <div class=\"ffx-who\"><div class=\"ffx-avatar\" aria-hidden=\"true\"><\/div><div><b>Your name<\/b><span>Your headline<br>1h<\/span><\/div><\/div>\n        <div class=\"ffx-body\" id=\"ffx-pv-body\"><span class=\"ffx-empty\">Your post will appear here.<\/span><\/div>\n        <div class=\"ffx-pfoot\" aria-hidden=\"true\"><span>Like<\/span><span>Comment<\/span><span>Repost<\/span><span>Send<\/span><\/div>\n      <\/article>\n      <p class=\"ffx-fnote\">The pink line shows roughly where LinkedIn cuts the post in the feed. The exact point changes with screen width and line breaks, so keep your hook above it.<\/p>\n    <\/section>\n  <\/div>\n\n  <section class=\"ffx-next\" id=\"ffx-next\" aria-labelledby=\"ffx-next-title\">\n    <div>\n      <h2 id=\"ffx-next-title\">Your post is ready. Now get it approved and scheduled.<\/h2>\n      <p>Flux keeps your LinkedIn, Instagram and other posts in one calendar, sends them to your client for approval and publishes at the time you choose.<\/p>\n      <ul>\n        <li>Plan the month in a shared content calendar<\/li>\n        <li>Client approval by link, without email threads<\/li>\n        <li>Automatic publishing on LinkedIn and other networks<\/li>\n      <\/ul>\n    <\/div>\n    <div class=\"ffx-cta\">\n      <a class=\"ffx-btn\" data-cta=\"trial\" href=\"https:\/\/flux.reportei.com\/signup?locale=en&amp;utm_source=flux_tools&amp;utm_medium=free_tool&amp;utm_campaign=linkedin_text_formatter&amp;utm_content=post_ready\">Start a 7-day free trial<\/a>\n      <a class=\"ffx-btn ffx-ghost\" data-cta=\"learn\" href=\"https:\/\/reportei.com\/en\/flux\/schedule-linkedin\/?utm_source=flux_tools&amp;utm_medium=free_tool&amp;utm_campaign=linkedin_text_formatter&amp;utm_content=learn_more\">See how to schedule LinkedIn posts<\/a>\n      <span class=\"ffx-price\">After the trial, USD 6 per month for one project.<\/span>\n    <\/div>\n  <\/section>\n<\/div>\n<script>window.FFX_T={\"selectFirst\": \"Select some text first.\", \"writeFirst\": \"Write your post first.\", \"copied\": \"Copied. Paste it into LinkedIn.\", \"charsUnit\": \"characters\", \"noCut\": \"no cut\", \"seeMore\": \"see more\", \"foldLabel\": \"\u201csee more\u201d cut\", \"emptyPreview\": \"Your post will appear here.\", \"chkOver\": \"{n} characters over the limit for this place.\", \"chkTooMuch\": \"More than 30% of the letters are styled. Highlight less so the important part stands out.\", \"chkTags\": \"A hashtag is styled. Styled hashtags don't work as hashtags.\", \"chkHook\": \"Your first line runs past the \u201csee more\u201d cut. Try a shorter opening.\", \"chkGood\": \"Looks good: within the limit and easy to scan.\", \"hooks\": [\"Most people get this wrong. Here's what works:\", \"I used to [old way]. Now I [new way].\", \"[Number] lessons from [experience]:\", \"Stop doing [mistake]. Do this instead:\", \"The simplest way to [result]:\", \"Unpopular opinion: [opinion].\"], \"sample\": \"We cut our client approval time from 5 days to 1.\\n\\nHere is what changed:\\n\\n\u2022 One calendar for every network\\n\u2022 Clients approve posts from a single link\\n\u2022 Posts go out on time, even on weekends\\n\\nThe best part? Nobody on the team chases feedback by email anymore.\\n\\nWhat slows down approvals in your agency?\\n\\n#socialmedia #agencylife #contentmarketing\"};<\/script><script>(function () {\n  \"use strict\";\n  var root = document.getElementById(\"ffx\");\n  if (!root || root.getAttribute(\"data-ready\")) return;\n  root.setAttribute(\"data-ready\", \"1\");\n  var T = window.FFX_T || {};\n  var LANG = root.getAttribute(\"data-lang\") || \"en\";\n  var NUM = LANG === \"en\" ? \"en-US\" : (LANG === \"es\" ? \"es-ES\" : \"pt-BR\");\n  var LIMITS = { post: 3000, comment: 1250, headline: 220, about: 2600 };\n  var FOLD = { desktop: { chars: 210, lines: 3 }, mobile: { chars: 140, lines: 3 } };\n  var view = \"desktop\", where = \"post\", expanded = false, used = false;\n  var ta = document.getElementById(\"ffx-text\");\n  var DRAFT_KEY = \"flux-li-formatter-draft-\" + LANG;\n\n  \/\/ ---------- analytics ----------\n  window.dataLayer = window.dataLayer || [];\n  function track(event, extra) {\n    var p = { event: event, tool: \"linkedin_text_formatter\", tool_locale: LANG };\n    if (extra) for (var k in extra) p[k] = extra[k];\n    window.dataLayer.push(p);\n  }\n  track(\"flux_tool_view\");\n\n  \/\/ ---------- Unicode styles ----------\n  var R = {\n    bold:            { u: 0x1D5D4, l: 0x1D5EE, d: 0x1D7EC },\n    italic:          { u: 0x1D608, l: 0x1D622 },\n    boldItalic:      { u: 0x1D63C, l: 0x1D656, d: 0x1D7EC },\n    mono:            { u: 0x1D670, l: 0x1D68A, d: 0x1D7F6 },\n    serifBold:       { u: 0x1D400, l: 0x1D41A, d: 0x1D7CE },\n    serifItalic:     { u: 0x1D434, l: 0x1D44E, x: { h: 0x210E } },\n    serifBoldItalic: { u: 0x1D468, l: 0x1D482, d: 0x1D7CE },\n    script:          { u: 0x1D4D0, l: 0x1D4EA },\n    fraktur:         { u: 0x1D56C, l: 0x1D586 },\n    doubleStruck:    { u: 0x1D538, l: 0x1D552, d: 0x1D7D8, x: { C: 0x2102, H: 0x210D, N: 0x2115, P: 0x2119, Q: 0x211A, R: 0x211D, Z: 0x2124 } },\n    circled:         { u: 0x24B6, l: 0x24D0 }\n  };\n  var SMALL = \"\u1d00\u0299\u1d04\u1d05\u1d07\ua730\u0262\u029c\u026a\u1d0a\u1d0b\u029f\u1d0d\u0274\u1d0f\u1d18\u01eb\u0280\ua731\u1d1b\u1d1c\u1d20\u1d21x\u028f\u1d22\";\n  var UNDER = \"\u0332\", STRIKE = \"\u0336\";\n  var styleMap = {}, reverse = {};\n  function setMap(style, plain, styled) {\n    (styleMap[style] = styleMap[style] || {})[plain] = styled;\n    if (styled !== plain) reverse[styled] = plain;\n  }\n  Object.keys(R).forEach(function (k) {\n    var r = R[k], i, c;\n    for (i = 0; i < 26; i++) {\n      c = String.fromCharCode(65 + i);\n      setMap(k, c, String.fromCodePoint(r.x && r.x[c] ? r.x[c] : r.u + i));\n      c = String.fromCharCode(97 + i);\n      setMap(k, c, String.fromCodePoint(r.x && r.x[c] ? r.x[c] : r.l + i));\n    }\n    if (r.d) for (i = 0; i < 10; i++) setMap(k, String(i), String.fromCodePoint(r.d + i));\n  });\n  (function () {\n    var i;\n    for (i = 0; i < 26; i++) setMap(\"smallCaps\", String.fromCharCode(97 + i), SMALL[i]);\n    for (i = 0x21; i <= 0x7E; i++) setMap(\"fullwidth\", String.fromCharCode(i), String.fromCharCode(i + 0xFEE0));\n    for (i = 1; i <= 9; i++) setMap(\"circled\", String(i), String.fromCharCode(0x2460 + i - 1));\n    setMap(\"circled\", \"0\", \"\u24ea\");\n  })();\n\n  function toPlain(s) {\n    var out = \"\";\n    for (var ch of s) {\n      if (ch === UNDER || ch === STRIKE || ch === \"\u2800\") continue;\n      out += reverse[ch] || ch;\n    }\n    return out.normalize(\"NFC\");\n  }\n  function stripMark(s, m) { return s.split(m).join(\"\"); }\n  function styleText(s, style) {\n    var map = styleMap[style], out = \"\";\n    for (var ch of toPlain(s).normalize(\"NFD\")) out += (map && map[ch]) || ch;\n    return out;\n  }\n  function addMark(s, mark) {\n    var out = \"\", chars = Array.from(stripMark(s, mark));\n    for (var i = 0; i < chars.length; i++) {\n      var ch = chars[i];\n      out += ch;\n      var next = chars[i + 1];\n      var nextIsMark = next && \/\\p{M}\/u.test(next);\n      if (ch === \"\\n\" || ch === \" \" || nextIsMark) continue;\n      out += mark;\n    }\n    return out;\n  }\n  function hasMarkEverywhere(s, mark) {\n    var chars = Array.from(s), seen = false;\n    for (var i = 0; i < chars.length; i++) {\n      var ch = chars[i];\n      if (\/\\p{M}\/u.test(ch) || ch === \" \" || ch === \"\\n\") continue;\n      seen = true;\n      var j = i + 1, ok = false;\n      while (j < chars.length && \/\\p{M}\/u.test(chars[j])) { if (chars[j] === mark) ok = true; j++; }\n      if (!ok) return false;\n    }\n    return seen;\n  }\n  function transform(sel, style) {\n    if (style === \"plain\") return toPlain(sel);\n    if (style === \"underline\") return hasMarkEverywhere(sel, UNDER) ? stripMark(sel, UNDER) : addMark(sel, UNDER);\n    if (style === \"strike\") return hasMarkEverywhere(sel, STRIKE) ? stripMark(sel, STRIKE) : addMark(sel, STRIKE);\n    var bare = stripMark(stripMark(sel, UNDER), STRIKE);\n    var styled = styleText(bare, style);\n    if (styled === bare) return toPlain(bare);\n    return styled;\n  }\n\n  \/\/ ---------- editing ----------\n  function replaceRange(start, end, text, select) {\n    ta.focus();\n    ta.setSelectionRange(start, end);\n    var ok = false;\n    try { ok = document.execCommand(\"insertText\", false, text); } catch (e) { ok = false; }\n    if (!ok || ta.value.slice(start, start + text.length) !== text) ta.setRangeText(text, start, end, \"end\");\n    if (select) ta.setSelectionRange(start, start + text.length);\n    onChange();\n  }\n  function applyStyle(style) {\n    var s = ta.selectionStart, e = ta.selectionEnd;\n    if (s === e) { flash(T.selectFirst); return; }\n    replaceRange(s, e, transform(ta.value.slice(s, e), style), true);\n    track(\"flux_tool_format\", { style: style });\n  }\n  function applyList(kind) {\n    var v = ta.value, s = ta.selectionStart, e = ta.selectionEnd;\n    var ls = v.lastIndexOf(\"\\n\", s - 1) + 1;\n    var le = v.indexOf(\"\\n\", e); if (le === -1) le = v.length;\n    var lines = v.slice(ls, le).split(\"\\n\");\n    var anyPrefix = \/^(?:[\u2022\u25aa\u2192]|\u2705|\\d+\\.) \/u;\n    var re = kind === \"number\" ? \/^\\d+\\. \/ : new RegExp(\"^\" + kind + \" \", \"u\");\n    var filled = lines.filter(function (l) { return l.trim(); });\n    var allHave = filled.length && filled.every(function (l) { return re.test(l); });\n    var n = 0;\n    var out = lines.map(function (l) {\n      var clean = l.replace(anyPrefix, \"\");\n      if (allHave || !l.trim()) return clean;\n      n++;\n      return (kind === \"number\" ? n + \".\" : kind) + \" \" + clean;\n    }).join(\"\\n\");\n    replaceRange(ls, le, out, true);\n    track(\"flux_tool_format\", { style: \"list_\" + (kind === \"number\" ? \"number\" : \"symbol\") });\n  }\n  function plainAll() {\n    replaceRange(0, ta.value.length, toPlain(ta.value), false);\n    track(\"flux_tool_format\", { style: \"plain_all\" });\n  }\n  function markdown() {\n    var v = ta.value\n      .replace(\/^#{1,6} +(.+)$\/gm, function (_, t) { return styleText(t, \"bold\"); })\n      .replace(\/\\*\\*([^*\\n]+)\\*\\*\/g, function (_, t) { return styleText(t, \"bold\"); })\n      .replace(\/__([^_\\n]+)__\/g, function (_, t) { return styleText(t, \"bold\"); })\n      .replace(\/(^|[^\\w*])\\*([^*\\n]+)\\*(?!\\*)\/g, function (_, a, t) { return a + styleText(t, \"italic\"); })\n      .replace(\/(^|[^\\w_])_([^_\\n]+)_(?!_)\/g, function (_, a, t) { return a + styleText(t, \"italic\"); })\n      .replace(\/~~([^~\\n]+)~~\/g, function (_, t) { return addMark(t, STRIKE); })\n      .replace(\/^[-*] \/gm, \"\u2022 \");\n    replaceRange(0, ta.value.length, v, false);\n    track(\"flux_tool_format\", { style: \"markdown\" });\n  }\n  function insertHook(text) {\n    var s = ta.selectionStart;\n    var prefix = s > 0 && ta.value[s - 1] !== \"\\n\" ? \"\\n\" : \"\";\n    replaceRange(s, ta.selectionEnd, prefix + text, false);\n    track(\"flux_tool_hook\");\n  }\n\n  \/\/ ---------- preview + stats ----------\n  \/\/ Visible width: code points minus combining marks (accents, underline, strike).\n  function visLen(s) { var n = 0; for (var ch of s) if (!\/\\p{M}\/u.test(ch)) n++; return n; }\n  \/\/ Cut after f.lines visual lines; a long line wraps every f.chars \/ f.lines visible characters.\n  function foldIndex(text) {\n    var f = FOLD[view], per = f.chars \/ f.lines, left = f.lines, pos = 0;\n    var lines = text.split(\"\\n\");\n    for (var i = 0; i < lines.length; i++) {\n      var line = lines[i], need = Math.max(1, Math.ceil(visLen(line) \/ per));\n      if (need <= left) {\n        left -= need; pos += line.length;\n        if (!left) return pos;\n        pos += 1;\n        continue;\n      }\n      var max = Math.floor(left * per), n = 0, j = 0;\n      for (var ch of line) {\n        if (!\/\\p{M}\/u.test(ch) && ++n > max) break;\n        j += ch.length;\n      }\n      var sp = line.lastIndexOf(\" \", j);\n      if (sp > 0 && visLen(line.slice(sp, j)) < 25) j = sp;\n      return pos + j;\n    }\n    return text.length;\n  }\n  function esc(s) { return s.replace(\/&\/g, \"&amp;\").replace(\/<\/g, \"&lt;\").replace(\/>\/g, \"&gt;\"); }\n  function decorate(s) { return esc(s).replace(\/(^|\\s)(#[\\p{L}\\p{N}_]+)\/gu, '$1<span class=\"ffx-tag\">$2<\/span>'); }\n  function fmt(n) { return n.toLocaleString(NUM); }\n\n  function checks(text) {\n    var list = [];\n    var limit = LIMITS[where];\n    if (text.length > limit) list.push({ t: T.chkOver.replace(\"{n}\", fmt(text.length - limit)) });\n    var letters = 0, styled = 0;\n    for (var ch of text) {\n      if (\/\\p{L}\/u.test(ch)) { letters++; if (reverse[ch]) styled++; }\n    }\n    if (letters > 40 && styled \/ letters > 0.3) list.push({ t: T.chkTooMuch });\n    if (\/#[^\\s#]*[\\u{1D400}-\\u{1D7FF}]\/u.test(text)) list.push({ t: T.chkTags });\n    if (where === \"post\" && text.trim()) {\n      var firstBreak = text.indexOf(\"\\n\");\n      var firstLine = firstBreak === -1 ? text : text.slice(0, firstBreak);\n      if (firstLine.length > FOLD[view].chars) list.push({ t: T.chkHook });\n    }\n    if (!list.length && text.trim().length > 20) list.push({ t: T.chkGood, good: true });\n    return list;\n  }\n\n  function render() {\n    var text = ta.value, body = document.getElementById(\"ffx-pv-body\");\n    var len = text.length, limit = LIMITS[where];\n    var chars = document.getElementById(\"ffx-st-chars\");\n    chars.innerHTML = \"<strong>\" + fmt(len) + \"<\/strong> \/ \" + fmt(limit) + \" \" + T.charsUnit;\n    chars.classList.toggle(\"ffx-over\", len > limit);\n    var words = text.trim() ? text.trim().split(\/\\s+\/).length : 0;\n    document.getElementById(\"ffx-st-words\").textContent = fmt(words);\n    var tags = text.match(\/(^|\\s)#[\\p{L}\\p{N}_]+\/gu);\n    document.getElementById(\"ffx-st-tags\").textContent = tags ? tags.length : 0;\n    var foldEl = document.querySelector(\"#ffx-st-fold strong\");\n    document.getElementById(\"ffx-st-fold\").style.display = where === \"post\" ? \"\" : \"none\";\n    document.getElementById(\"ffx-checks\").innerHTML = checks(text).map(function (c) {\n      return '<li class=\"' + (c.good ? \"ffx-good\" : \"\") + '\">' + esc(c.t) + \"<\/li>\";\n    }).join(\"\");\n\n    if (!text.trim()) {\n      body.className = \"ffx-body\";\n      body.innerHTML = '<span class=\"ffx-empty\">' + esc(T.emptyPreview) + \"<\/span>\";\n      foldEl.textContent = \"\u2014\";\n      return;\n    }\n    var fi = foldIndex(text);\n    foldEl.textContent = fi >= len ? T.noCut : fmt(visLen(text.slice(0, fi))) + \" \" + T.charsUnit;\n    if (fi >= len || where !== \"post\") { body.className = \"ffx-body\"; body.innerHTML = decorate(text); return; }\n    body.className = \"ffx-body\" + (expanded ? \"\" : \" ffx-collapsed\");\n    body.innerHTML = decorate(expanded ? text.slice(0, fi) : text.slice(0, fi).replace(\/\\s+$\/, \"\")) +\n      (expanded ? \"\" : '\u2026 <button type=\"button\" class=\"ffx-seemore\" id=\"ffx-seemore\">' + esc(T.seeMore) + \"<\/button>\") +\n      '<span class=\"ffx-fold\" aria-hidden=\"true\"><span>' + esc(T.foldLabel) + \"<\/span><\/span>\" +\n      '<span class=\"ffx-rest\">' + decorate(text.slice(fi)) + \"<\/span>\";\n    var sm = document.getElementById(\"ffx-seemore\");\n    if (sm) sm.addEventListener(\"click\", function () { expanded = true; render(); });\n  }\n  function onChange() {\n    if (!used && ta.value.trim()) { used = true; track(\"flux_tool_start\"); }\n    try { localStorage.setItem(DRAFT_KEY, ta.value); } catch (e) {}\n    render();\n  }\n\n  \/\/ ---------- wiring ----------\n  function closeMenus(except) {\n    root.querySelectorAll(\"details.ffx-menu[open]\").forEach(function (d) { if (d !== except) d.removeAttribute(\"open\"); });\n  }\n  root.querySelectorAll(\"details.ffx-menu\").forEach(function (d) {\n    d.addEventListener(\"toggle\", function () {\n      if (!d.open) return;\n      closeMenus(d);\n      \/\/ keep the popup inside the screen on phones\n      var pop = d.querySelector(\".ffx-pop\");\n      pop.style.transform = \"\";\n      var r = pop.getBoundingClientRect(), vw = document.documentElement.clientWidth;\n      var shift = r.right > vw - 8 ? vw - 8 - r.right : (r.left < 8 ? 8 - r.left : 0);\n      if (shift) pop.style.transform = \"translateX(\" + Math.round(shift) + \"px)\";\n    });\n  });\n  document.addEventListener(\"click\", function (e) { if (!e.target.closest || !e.target.closest(\"details.ffx-menu\")) closeMenus(null); });\n  function bindPress(el, fn) {\n    el.addEventListener(\"mousedown\", function (e) { e.preventDefault(); });\n    el.addEventListener(\"click\", function () { fn(); closeMenus(null); });\n  }\n  root.querySelectorAll(\"[data-style]\").forEach(function (b) { bindPress(b, function () { applyStyle(b.getAttribute(\"data-style\")); }); });\n  root.querySelectorAll(\"[data-list]\").forEach(function (b) { bindPress(b, function () { applyList(b.getAttribute(\"data-list\")); }); });\n  root.querySelectorAll(\"[data-action]\").forEach(function (b) {\n    bindPress(b, function () { var a = b.getAttribute(\"data-action\"); if (a === \"plainAll\") plainAll(); if (a === \"markdown\") markdown(); });\n  });\n  var hooksBox = document.getElementById(\"ffx-hooks\");\n  (T.hooks || []).forEach(function (h) {\n    var b = document.createElement(\"button\");\n    b.type = \"button\"; b.setAttribute(\"role\", \"menuitem\"); b.textContent = h;\n    hooksBox.appendChild(b);\n    bindPress(b, function () { insertHook(h); });\n  });\n  ta.addEventListener(\"input\", onChange);\n  ta.addEventListener(\"keydown\", function (e) {\n    if (!(e.metaKey || e.ctrlKey)) return;\n    var k = e.key.toLowerCase();\n    if (k === \"b\") { e.preventDefault(); applyStyle(e.shiftKey ? \"boldItalic\" : \"bold\"); }\n    else if (k === \"i\") { e.preventDefault(); applyStyle(\"italic\"); }\n    else if (k === \"u\") { e.preventDefault(); applyStyle(\"underline\"); }\n  });\n  root.querySelectorAll(\"[data-view]\").forEach(function (b) {\n    b.addEventListener(\"click\", function () {\n      view = b.getAttribute(\"data-view\");\n      root.querySelectorAll(\"[data-view]\").forEach(function (x) { x.setAttribute(\"aria-pressed\", String(x === b)); });\n      document.getElementById(\"ffx-post\").classList.toggle(\"ffx-mobile\", view === \"mobile\");\n      expanded = false; render();\n    });\n  });\n  document.getElementById(\"ffx-where\").addEventListener(\"change\", function (e) { where = e.target.value; expanded = false; render(); });\n\n  var msgTimer;\n  function flash(t) {\n    var m = document.getElementById(\"ffx-msg\");\n    m.textContent = t; clearTimeout(msgTimer);\n    msgTimer = setTimeout(function () { m.textContent = \"\"; }, 2800);\n  }\n  function copyOut() {\n    var text = ta.value;\n    if (document.getElementById(\"ffx-keep\").checked) text = text.replace(\/^[ \\t]*$\/gm, \"\u2800\");\n    return text;\n  }\n  document.getElementById(\"ffx-copy\").addEventListener(\"click\", function () {\n    if (!ta.value.trim()) { flash(T.writeFirst); ta.focus(); return; }\n    var text = copyOut();\n    var done = function () {\n      flash(T.copied);\n      track(\"flux_tool_copy\", { chars: text.length, keep_blank: document.getElementById(\"ffx-keep\").checked });\n      var n = document.getElementById(\"ffx-next\");\n      n.classList.add(\"ffx-lit\");\n      setTimeout(function () { n.classList.remove(\"ffx-lit\"); }, 2600);\n    };\n    var fallback = function () {\n      var tmp = document.createElement(\"textarea\");\n      tmp.value = text; tmp.setAttribute(\"readonly\", \"\"); tmp.style.position = \"fixed\"; tmp.style.left = \"-9999px\";\n      document.body.appendChild(tmp); tmp.select();\n      try { document.execCommand(\"copy\"); } catch (e) {}\n      document.body.removeChild(tmp); done();\n    };\n    if (navigator.clipboard && navigator.clipboard.writeText) navigator.clipboard.writeText(text).then(done, fallback);\n    else fallback();\n  });\n  document.querySelectorAll(\"#ffx [data-cta], .flux-translated-header [data-cta]\").forEach(function (a) {\n    a.addEventListener(\"click\", function () { track(\"flux_tool_cta_click\", { cta: a.getAttribute(\"data-cta\") }); });\n  });\n  document.getElementById(\"ffx-sample\").addEventListener(\"click\", function () {\n    var lines = T.sample.split(\"\\n\");\n    lines[0] = styleText(lines[0], \"bold\");\n    ta.value = lines.join(\"\\n\");\n    expanded = false; onChange(); ta.focus(); ta.setSelectionRange(0, 0); ta.scrollTop = 0;\n    track(\"flux_tool_sample\");\n  });\n\n  try { var d = localStorage.getItem(DRAFT_KEY); if (d) ta.value = d; } catch (e) {}\n  render();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-c971fc6 e-con-full e-ecs-flex e-flex e-con e-parent\" data-id=\"c971fc6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ecs_container_type&quot;:&quot;flex&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cd74c9e elementor-widget elementor-widget-text-editor\" data-id=\"cd74c9e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"ffx-guide\">\n<p class=\"ffx-upd\">Updated October 2026 by the Flux team at Reportei.<\/p>\n\n<h2>How to use the LinkedIn text formatter<\/h2>\n<ol>\n<li><strong>Write or paste your post<\/strong> in the editor. Your draft stays in this browser, so you can close the tab and come back.<\/li>\n<li><strong>Select the words you want to highlight<\/strong> and pick a style: bold, italic, underline, strikethrough, monospace or one of the extra styles. Press the same button again to remove it.<\/li>\n<li><strong>Check the preview.<\/strong> The pink line shows roughly where LinkedIn cuts your post with \u201c\u2026see more\u201d. Keep your opening line above it.<\/li>\n<li><strong>Copy and paste into LinkedIn.<\/strong> The styles go with the text, because they are characters, not formatting.<\/li>\n<\/ol>\n<p>Keyboard shortcuts work in the editor: Ctrl or Cmd + B for bold, + I for italic, + U for underline and + Shift + B for bold italic.<\/p>\n\n<h2>Why LinkedIn has no bold button in posts<\/h2>\n<p>The LinkedIn post composer only takes plain text. There is no toolbar for bold or italic in posts, comments, your headline or your About section. Articles and newsletters are different: their editor has native bold, italic, headings and lists, so you don&#8217;t need this tool there.<\/p>\n<p>The workaround everyone uses is Unicode. Unicode includes full alphabets that look bold, italic, script or monospace. They were made for math, but any app that shows text can show them. When you select a word and press B, the formatter swaps each letter for its bold twin. LinkedIn sees normal characters, so nothing breaks when you paste.<\/p>\n\n<h2>How to bold text on LinkedIn<\/h2>\n<p>Select the word or sentence and press <strong>B<\/strong> (or Ctrl\/Cmd + B). The tool uses sans-serif bold, which matches LinkedIn&#8217;s own font better than the serif version. If you prefer the classic look, open <em>More styles<\/em> and pick <em>Serif bold<\/em>.<\/p>\n<div class=\"ffx-ex\">Before: We cut our approval time in half.\nAfter: \ud835\uddea\ud835\uddf2 \ud835\uddf0\ud835\ude02\ud835\ude01 \ud835\uddfc\ud835\ude02\ud835\uddff \ud835\uddee\ud835\uddfd\ud835\uddfd\ud835\uddff\ud835\uddfc\ud835\ude03\ud835\uddee\ud835\uddf9 \ud835\ude01\ud835\uddf6\ud835\uddfa\ud835\uddf2 \ud835\uddf6\ud835\uddfb \ud835\uddf5\ud835\uddee\ud835\uddf9\ud835\uddf3.<\/div>\n<p>Use bold for one idea per post: the result, the number, the question you want answered. When everything is bold, nothing stands out.<\/p>\n\n<h2>How to italicize text on LinkedIn<\/h2>\n<p>Select the text and press <strong>I<\/strong>. Italic works well for a quote, a book title or a word you want to stress in a sentence. For a stronger accent, <em>bold italic<\/em> (BI) combines both.<\/p>\n<div class=\"ffx-ex\">\ud835\ude10\ud835\ude2f \ud835\ude35\ud835\ude29\ud835\ude26 \ud835\ude26\ud835\ude2f\ud835\ude25, \ud835\ude35\ud835\ude29\ud835\ude26 \ud835\ude24\ud835\ude2d\ud835\ude2a\ud835\ude26\ud835\ude2f\ud835\ude35 \ud835\ude24\ud835\ude22\ud835\ude33\ud835\ude26\ud835\ude34 \ud835\ude22\ud835\ude23\ud835\ude30\ud835\ude36\ud835\ude35 \ud835\ude30\ud835\ude2f\ud835\ude26 \ud835\ude2f\ud835\ude36\ud835\ude2e\ud835\ude23\ud835\ude26\ud835\ude33.<\/div>\n\n<h2>How to underline and strike through text on LinkedIn<\/h2>\n<p>Underline and strikethrough work differently from bold. Instead of swapping letters, the tool adds a combining line after each character. That is why they can be stacked on top of bold or italic. Strikethrough is useful for before-and-after jokes and price changes:<\/p>\n<div class=\"ffx-ex\">Our process: s\u0336e\u0336n\u0336d\u0336 \u0336f\u0336i\u0336v\u0336e\u0336 \u0336e\u0336m\u0336a\u0336i\u0336l\u0336s\u0336 share one approval link.<\/div>\n<p>On some Android phones the line can look a little off. Use these two for short words, not whole paragraphs.<\/p>\n\n<h2>How to add bullet points and numbered lists<\/h2>\n<p>LinkedIn has no list button either, so lists are made of symbols at the start of each line. Select the lines and open <em>Lists<\/em>. You can choose dots (\u2022), squares (\u25aa), arrows (\u2192), check marks (\u2705) or numbers. Pick the same option again to remove the symbols.<\/p>\n<div class=\"ffx-ex\">What changed:\n\u2022 One calendar for every network\n\u2022 Clients approve from a single link\n\u2022 Posts go out on time<\/div>\n<p>Lists make a post easier to scan on a phone, which is where most people read LinkedIn. Three to five items is usually enough.<\/p>\n\n<h2>How to add line breaks and spacing in LinkedIn posts<\/h2>\n<p>Short paragraphs with a blank line between them are the easiest posts to read. Press Enter twice in the editor to create the gap. When you paste into LinkedIn, single blank lines usually stay where they are.<\/p>\n<p>Some people find that LinkedIn removes extra blank lines, especially when they paste the same text again after editing. If that happens to you, tick <strong>Keep blank lines when pasting<\/strong> before you copy. The tool puts an invisible character (U+2800) on each empty line, so LinkedIn treats it as content and keeps the space.<\/p>\n\n<h2>LinkedIn character limits<\/h2>\n<p>The counter under the editor changes with the place you choose in <em>Where will you paste it?<\/em><\/p>\n<table>\n<thead><tr><th>Where<\/th><th>Limit<\/th><th>Tip<\/th><\/tr><\/thead>\n<tbody>\n<tr><td>Post<\/td><td>3,000 characters<\/td><td>Most posts that get read stay well under 1,300.<\/td><\/tr>\n<tr><td>Comment<\/td><td>1,250 characters<\/td><td>Bold one key word, not the whole comment.<\/td><\/tr>\n<tr><td>Headline<\/td><td>220 characters<\/td><td>Keep keywords in plain text so people can find you.<\/td><\/tr>\n<tr><td>About section<\/td><td>2,600 characters<\/td><td>Use bold for section titles inside the text.<\/td><\/tr>\n<\/tbody>\n<\/table>\n<p>Styled letters take more space than plain ones. Each bold or italic letter is stored as two code units, and some counters count it as two characters. Our counter uses that stricter count, so if the tool says you fit, you fit.<\/p>\n\n<h2>The \u201csee more\u201d cutoff: how much of your post people see<\/h2>\n<p>In the feed, LinkedIn shows only the beginning of a post and hides the rest behind \u201c\u2026see more\u201d. The cut happens at about three lines. On a desktop screen that is roughly 200 to 210 characters; on a phone it is closer to 140, and it can be less if you start with short lines or line breaks.<\/p>\n<p>That opening is your hook. It decides whether someone clicks to read the rest. The preview marks the cut with a pink line and the counter shows how many characters come before it. Switch between <em>Desktop<\/em> and <em>Mobile<\/em> to check both. If your first sentence crosses the line, the tool warns you.<\/p>\n<p>The exact point depends on screen width, font and app version, so treat the line as a guide, not a ruler.<\/p>\n\n<h2>LinkedIn fonts and text styles you can copy<\/h2>\n<p>Besides the main buttons, <em>More styles<\/em> has nine extra looks. They are all Unicode, so they paste anywhere.<\/p>\n<table>\n<thead><tr><th>Style<\/th><th>Example<\/th><th>Good for<\/th><\/tr><\/thead>\n<tbody>\n<tr><td>Sans-serif bold<\/td><td>\ud835\uddd9\ud835\uddf9\ud835\ude02\ud835\ude05<\/td><td>Hooks, results, short emphasis<\/td><\/tr>\n<tr><td>Sans-serif italic<\/td><td>\ud835\ude0d\ud835\ude2d\ud835\ude36\ud835\ude39<\/td><td>Quotes, side notes<\/td><\/tr>\n<tr><td>Serif bold<\/td><td>\ud835\udc05\ud835\udc25\ud835\udc2e\ud835\udc31<\/td><td>Titles inside the About section<\/td><\/tr>\n<tr><td>Script<\/td><td>\ud835\udcd5\ud835\udcf5\ud835\udcfe\ud835\udd01<\/td><td>A signature line, sparingly<\/td><\/tr>\n<tr><td>Gothic<\/td><td>\ud835\udd71\ud835\udd91\ud835\udd9a\ud835\udd9d<\/td><td>Playful posts only<\/td><\/tr>\n<tr><td>Double-struck<\/td><td>\ud835\udd3d\ud835\udd5d\ud835\udd66\ud835\udd69<\/td><td>Section labels<\/td><\/tr>\n<tr><td>Monospace<\/td><td>\ud835\ude75\ud835\ude95\ud835\ude9e\ud835\udea1<\/td><td>Code, commands, numbers in a table<\/td><\/tr>\n<tr><td>Small caps<\/td><td>\ua730\u029f\u1d1cx<\/td><td>Subtle labels<\/td><\/tr>\n<tr><td>Circled<\/td><td>\u24bb\u24db\u24e4\u24e7<\/td><td>Step markers<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n<h2>Does formatting hurt reach, search or accessibility?<\/h2>\n<p>There is no public evidence that LinkedIn ranks posts lower because they contain Unicode styles. What matters more is how people react in the first hour. Formatting helps when it makes the post easier to read and hurts when it makes it harder.<\/p>\n<p>Two real side effects are worth knowing:<\/p>\n<ul>\n<li><strong>Search.<\/strong> To LinkedIn and Google, \ud835\uddfa\ud835\uddee\ud835\uddff\ud835\uddf8\ud835\uddf2\ud835\ude01\ud835\uddf6\ud835\uddfb\ud835\uddf4 and marketing are different words. Don&#8217;t style the keywords you want to be found by, especially in your headline and About section.<\/li>\n<li><strong>Screen readers.<\/strong> Some screen readers read styled letters one by one or announce them as math symbols. Keep styled text short, and never style a whole post.<\/li>\n<\/ul>\n<p>The tool checks your post as you type. It warns you when more than 30% of the letters are styled, when a hashtag is styled (styled hashtags stop working as hashtags) and when your first line is too long for the preview.<\/p>\n\n<h2>Where formatted text works on LinkedIn<\/h2>\n<ul>\n<li><strong>Posts and comments:<\/strong> yes, on desktop and in the app.<\/li>\n<li><strong>Headline and About:<\/strong> yes, but keep searchable keywords plain.<\/li>\n<li><strong>Experience descriptions:<\/strong> yes, it is useful for short titles inside the text.<\/li>\n<li><strong>Messages and InMail:<\/strong> yes, though the recipient&#8217;s email notification may show plain boxes on old devices.<\/li>\n<li><strong>Company page posts:<\/strong> yes, same as personal posts.<\/li>\n<li><strong>Your name:<\/strong> avoid it. It makes you harder to find and may go against LinkedIn&#8217;s rules for names.<\/li>\n<\/ul>\n\n<h2>LinkedIn post formatting tips<\/h2>\n<h3>Start with a hook that fits before \u201csee more\u201d<\/h3>\n<p>Open the <em>Hooks<\/em> menu for ready-made openings you can adapt. A good hook makes a promise or raises a question in one line.<\/p>\n<h3>One idea per paragraph<\/h3>\n<p>Two or three lines per paragraph, then a blank line. It looks longer, but it reads faster on a phone.<\/p>\n<h3>Bold the result, not the topic<\/h3>\n<p>\u201cWe cut approvals from 5 days to 1\u201d is worth bolding. \u201cSocial media management\u201d is not.<\/p>\n<h3>End with a question or a clear next step<\/h3>\n<p>Comments in the first hour help a post travel. Ask something people can answer in one sentence.<\/p>\n<h3>Hashtags at the end, in plain text<\/h3>\n<p>Three relevant hashtags are enough. Styled hashtags don&#8217;t link to anything.<\/p>\n<h3>Write in Markdown if you prefer<\/h3>\n<p>If you draft in Notion, Google Docs or ChatGPT, paste the text and choose <em>Clean up \u2192 Convert Markdown<\/em>. **Bold**, *italic*, ~~strikethrough~~ and \u201c- \u201d lists turn into LinkedIn-ready text.<\/p>\n\n<h2>From formatted post to scheduled post<\/h2>\n<p>Formatting is the last step before publishing, and it is where many agencies lose time: the text goes back and forth by email, someone changes a word, and the post goes out late. Flux keeps the whole cycle in one place. You plan the month in a calendar, send posts to your client for approval with a link, and Flux publishes on LinkedIn, Instagram, Facebook, TikTok and other networks at the time you choose. The formatting you create here stays intact when you schedule it.<\/p>\n<p>See how to <a href=\"https:\/\/reportei.com\/en\/flux\/schedule-linkedin\/\">schedule LinkedIn posts with Flux<\/a>, how the <a href=\"https:\/\/reportei.com\/en\/flux\/content-calendar\/\">content calendar<\/a> works, or start the 7-day free trial from the box above.<\/p>\n\n<h2>Frequently asked questions<\/h2>\n<h3>Is this LinkedIn text formatter free?<\/h3>\n<p>Yes. You can format, preview and copy as many posts as you want, with no sign-up and no limits.<\/p>\n<h3>How many characters show before \u201csee more\u201d on LinkedIn?<\/h3>\n<p>About three lines. That is roughly 200 to 210 characters on desktop and about 140 on mobile, fewer if you use line breaks early. The preview shows the cut for both.<\/p>\n<h3>Do bold and italic letters count as more than one character?<\/h3>\n<p>They can. Styled letters are stored as two code units, and some counters, including the stricter one in this tool, count them as two. If you are close to the limit, style less.<\/p>\n<h3>Why don&#8217;t accented letters like \u00e9, \u00e3, \u00e7 or \u00f1 turn bold?<\/h3>\n<p>Unicode has bold and italic versions only for the 26 basic letters and digits. This tool splits accented letters into the base letter plus the accent, styles the letter and keeps the accent on top. It works in most apps, but on some devices the accent may sit slightly off.<\/p>\n<h3>Why does LinkedIn remove my blank lines?<\/h3>\n<p>LinkedIn sometimes collapses empty lines when you paste. Tick <strong>Keep blank lines when pasting<\/strong> before copying. The tool fills empty lines with an invisible character so the spacing survives.<\/p>\n<h3>Can I use bold text in LinkedIn articles and newsletters?<\/h3>\n<p>You don&#8217;t need this tool there. The article editor has its own bold, italic, headings and lists.<\/p>\n<h3>Can I use formatted text in my headline or About section?<\/h3>\n<p>Yes, and it can help structure the About section. Keep the words you want to be found by in plain text, because search treats styled letters as different characters.<\/p>\n<h3>Do bold hashtags or @mentions still work?<\/h3>\n<p>No. A styled hashtag is no longer a hashtag, and a styled mention won&#8217;t tag anyone. The tool warns you if a hashtag is styled.<\/p>\n<h3>Will formatted text look the same on the LinkedIn app?<\/h3>\n<p>Bold, italic and monospace show correctly on current iPhone, Android, Windows and Mac. Rare styles like gothic or circled letters may appear as boxes on very old devices.<\/p>\n<h3>How do I convert formatted text back to normal?<\/h3>\n<p>Select the text and choose <em>Clean up \u2192 Remove style<\/em>, or <em>Remove all styles<\/em> to clean the whole post. You can also paste styled text from somewhere else and clean it here.<\/p>\n<h3>Can I schedule a formatted post without losing the formatting?<\/h3>\n<p>Yes. Because the styles are characters, they survive copy and paste into any scheduler. In Flux you can paste the post, send it for approval and schedule it for LinkedIn.<\/p>\n<h3>Is my text saved or sent anywhere?<\/h3>\n<p>No. Everything happens in your browser. The draft is kept only on your device so you can come back to it.<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-4055605 e-con-full e-ecs-flex e-flex e-con e-parent\" data-id=\"4055605\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ecs_container_type&quot;:&quot;flex&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3af09ff elementor-widget elementor-widget-html\" data-id=\"3af09ff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!--fxt-more--><style>.fxt-more{font-family:Inter,system-ui,sans-serif;width:min(1160px,calc(100% - 40px));margin:8px auto 56px;color:#212b30}.fxt-more h2{font:700 26px\/1.25 Quicksand,Inter,sans-serif;margin:0 0 18px;color:#212b30;letter-spacing:-.01em}.fxt-more ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fxt-more li{margin:0;padding:0}.fxt-more a{display:block;height:100%;padding:16px 18px;border:1.5px solid #E6E1EC;border-radius:14px;background:#fff;color:#212b30;text-decoration:none}.fxt-more a:hover{border-color:#6337CF;background:#FFF2FA}.fxt-more a:focus-visible{outline:3px solid #6337CF;outline-offset:3px}.fxt-more b{display:block;font:700 16px\/1.3 Inter,sans-serif;color:#4B24A8;margin-bottom:6px}.fxt-more span{font-size:14px;line-height:1.5;color:#55626A}@media(max-width:1000px){.fxt-more ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.fxt-more ul{grid-template-columns:1fr}.fxt-more h2{font-size:22px}}<\/style><nav class=\"fxt-more\" aria-labelledby=\"fxt-more-en\"><h2 id=\"fxt-more-en\">More free tools from Flux<\/h2><ul><li><a href=\"https:\/\/reportei.com\/en\/flux\/instagram-font-generator\/\"><b>Instagram Font Generator<\/b><span>Fancy fonts for your bio and captions, ready to paste.<\/span><\/a><\/li><li><a href=\"https:\/\/reportei.com\/en\/flux\/facebook-font-generator\/\"><b>Facebook Font Generator<\/b><span>Bold and fancy text for posts and comments.<\/span><\/a><\/li><li><a href=\"https:\/\/reportei.com\/en\/flux\/instagram-bio-generator\/\"><b>Instagram Bio Generator<\/b><span>Three AI bio options in 150 characters.<\/span><\/a><\/li><li><a href=\"https:\/\/reportei.com\/en\/flux\/instagram-line-break-generator\/\"><b>Instagram Line Break Generator<\/b><span>Captions with paragraphs and blank lines.<\/span><\/a><\/li><\/ul><\/nav><!--\/fxt-more--><style>\n.flx{font-family:Inter,system-ui,sans-serif;color:#212b30;background:white;font-size:16px;line-height:1.7;overflow:clip}.flx *{box-sizing:border-box}.flx h1,.flx h2,.flx h3{font-family:Quicksand,Inter,sans-serif;color:#23458d;font-weight:700;margin:0;letter-spacing:-.02em}.flx h1{font-size:40px;line-height:1.35}.flx h2{font-size:30px;line-height:1.35;margin-bottom:22px}.flx h3{font-size:21px;line-height:1.4}.flx p{margin:18px 0;color:#424a54}.flx a{color:#245ed0;text-decoration:none}.flx a:hover{text-decoration:underline}.flx a:focus-visible,.flx summary:focus-visible{outline:3px solid #23458d;outline-offset:5px}.flx .fx-wrap{width:min(1200px,calc(100% - 48px));margin:auto}.flx img{max-width:100%;height:auto;display:block}.flx figure{margin:0}.flx .fx-hero{padding:142px 0 70px;background:#fff}.flx .fx-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.flx .fx-hero figure{position:relative}.flx .fx-hero figure:before{content:'';position:absolute;inset:9%;border-radius:50%;background:#edf3fd;z-index:0}.flx .fx-hero figure img{position:relative}.flx .fx-tag{color:#98348c;font-weight:600;font-size:13px;letter-spacing:.07em;text-transform:uppercase;margin:0 0 18px}.flx .fx-lead{font-size:18px;line-height:1.65}.flx .fx-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:28px 0 16px}.flx .fx-btn{display:inline-flex;align-items:center;justify-content:center;color:white;background:#2f64e0;font-size:15px;font-weight:600;border-radius:8px;padding:14px 22px;min-height:50px;text-align:center}.flx .fx-btn:hover{background:#23458d;color:white;text-decoration:none}.flx .fx-link{font-size:14px;font-weight:600}.flx .fx-note{font-size:13px;line-height:1.65;max-width:560px}.flx .fx-section{padding:72px 0}.flx .fx-pale{background:#f2f6fd}.flx .fx-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.flx .fx-cards article{border:1px solid #e0e7f1;background:white;padding:28px;border-radius:18px;display:flex;flex-direction:column;align-items:flex-start}.flx .fx-cards p{font-size:15px}.flx .fx-cards a{margin-top:auto;font-size:14px;font-weight:600}.flx .fx-steps{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:0;margin:34px 0 0}.flx .fx-steps li{counter-increment:steps}.flx .fx-steps li:before{content:counter(steps);display:grid;place-items:center;background:#e3eefc;color:#23458d;border-radius:50%;width:44px;height:44px;font-weight:700;margin-bottom:20px}.flx .fx-steps p{font-size:15px}.flx .fx-bullets{padding-left:22px;line-height:1.8}.flx .fx-bullets li{padding:5px 0}.flx .fx-highlight{color:#98348c}.flx .fx-banner{background:#e3eefc;border-radius:24px;padding:44px}.flx .fx-faq{max-width:850px}.flx details{border-bottom:1px solid #dbe2ed;padding:0}.flx summary{cursor:pointer;font-weight:600;padding:22px 28px 22px 0;color:#23458d}.flx details p{padding-bottom:20px}.flx .fx-table-wrap{overflow:auto}.flx table{border-collapse:collapse;width:100%;min-width:530px;margin:28px 0;background:white}.flx th,.flx td{padding:18px;text-align:left;border-bottom:1px solid #dfe6ef}.flx th{color:#23458d;background:#e3eefc}.flx .fx-footer{border-top:1px solid #e3e8f0;padding:54px 0 24px}.flx .fx-foot-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.flx .fx-foot-grid nav{display:grid;gap:10px;align-content:start}.flx .fx-foot-grid h2{font-size:20px}.flx .fx-foot-grid a{font-size:14px}.flx .fx-copy{font-size:12px;margin-top:36px;padding-top:20px;border-top:1px solid #e3e8f0}.flx .fx-nav{display:flex;gap:22px;flex-wrap:wrap;margin:20px 0}.flx .fx-nav a{font-weight:600}.fx-local-header{padding:15px 24px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;font:14px Inter,sans-serif}.fx-local-header img{width:90px}.fx-local-header nav{display:flex;gap:20px}.fx-local-header a{text-decoration:none;color:#23458d}.flx .fx-screen{border:1px solid #e1e7ef;border-radius:16px;box-shadow:0 8px 30px #212b3010;margin-top:28px}.flx .fx-screen img{width:100%}@media(max-width:1023px){.flx .fx-split{gap:30px}.flx h1{font-size:34px}.flx .fx-cards{grid-template-columns:repeat(2,1fr)}.flx .fx-steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:639px){.flx .fx-wrap{width:calc(100% - 36px)}.flx .fx-hero{padding:108px 0 42px}.flx .fx-split{grid-template-columns:1fr;gap:26px}.flx h1{font-size:32px}.flx h2{font-size:28px}.flx .fx-lead{font-size:16px}.flx .fx-section{padding:48px 0}.flx .fx-cards,.flx .fx-steps,.flx .fx-foot-grid{grid-template-columns:1fr}.flx .fx-banner{padding:26px}.flx .fx-actions{gap:18px}.fx-local-header nav{font-size:11px;gap:8px}.flx .fx-hero figure{max-width:460px;margin:auto}.flx .fx-cards article{padding:24px}}<\/style><div class=\"flx\"><footer class=\"fx-footer\"><div class=\"fx-wrap\"><div class=\"fx-foot-grid\"><div><a href=\"https:\/\/reportei.com\/en\/flux\/\"><img alt=\"Flux \u2014 product interface\" decoding=\"async\" height=\"56\" src=\"https:\/\/reportei.com\/wp-content\/uploads\/2026\/05\/Reportei-Flux-01.svg\" width=\"100\"\/><\/a><p>Create, approve, and schedule<br\/>Your social media work flowing<\/p><\/div><nav aria-label=\"Explore Flux\"><h2>Your workflow<\/h2><a href=\"https:\/\/reportei.com\/en\/flux\/features\/\">Features <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/content-approval\/\">Content approval <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/post-scheduling\/\">Post scheduling <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/content-calendar\/\">Publication calendar <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/dashboard\/\">Dashboard <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/boost-posts\/\">Boosting <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/mcp\/\">MCP and API <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/flux-ai\/\">Flux AI <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/dynamic-variables\/\">Dynamic variables <span aria-hidden=\"true\">\u2197<\/span><\/a><\/nav><nav aria-label=\"Explore Flux\"><h2>Your networks<\/h2><a href=\"https:\/\/reportei.com\/en\/flux\/integrations\/\">Integrations <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/schedule-instagram\/\">Schedule Instagram <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/schedule-facebook\/\">Schedule Facebook <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/schedule-tiktok\/\">Schedule TikTok <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/schedule-linkedin\/\">Schedule LinkedIn <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/schedule-threads\/\">Schedule Threads <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/schedule-youtube\/\">Schedule YouTube <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/schedule-pinterest\/\">Schedule Pinterest <span aria-hidden=\"true\">\u2197<\/span><\/a><a href=\"https:\/\/reportei.com\/en\/flux\/schedule-google-business-profile\/\">Schedule Google Business Profile <span aria-hidden=\"true\">\u2197<\/span><\/a><\/nav><\/div><nav aria-label=\"Explore Flux\" class=\"fx-nav\"><a href=\"https:\/\/reportei.com\/en\/flux\/#planos\">Plans and Prices<\/a><a href=\"https:\/\/reportei.com\/en\/blog\/\">Blog<\/a><a href=\"https:\/\/reportei.com\/en\/\">The Reportei<\/a><a href=\"https:\/\/reportei.com\/en\/privacy-policy-reportei\/\">Privacy<\/a><\/nav><p class=\"fx-copy\">Flux by Reportei<\/p><\/div><\/footer><\/div><script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@graph\": [{\"@type\": \"WebApplication\", \"name\": \"LinkedIn Text Formatter | Flux\", \"url\": \"https:\/\/reportei.com\/en\/flux\/linkedin-text-formatter\/\", \"inLanguage\": \"en\", \"applicationCategory\": \"BusinessApplication\", \"operatingSystem\": \"Any (web browser)\", \"description\": \"Format LinkedIn posts with bold, italic, underline, bullet points and line breaks. See the \u201csee more\u201d cut on desktop and mobile. Free, no sign-up.\", \"isAccessibleForFree\": true, \"offers\": {\"@type\": \"Offer\", \"price\": \"0\", \"priceCurrency\": \"USD\"}, \"publisher\": {\"@type\": \"Organization\", \"name\": \"Reportei\", \"url\": \"https:\/\/reportei.com\/\"}}, {\"@type\": \"FAQPage\", \"inLanguage\": \"en\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Is this LinkedIn text formatter free?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes. You can format, preview and copy as many posts as you want, with no sign-up and no limits.\"}}, {\"@type\": \"Question\", \"name\": \"How many characters show before \u201csee more\u201d on LinkedIn?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"About three lines. That is roughly 200 to 210 characters on desktop and about 140 on mobile, fewer if you use line breaks early. The preview shows the cut for both.\"}}, {\"@type\": \"Question\", \"name\": \"Do bold and italic letters count as more than one character?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"They can. Styled letters are stored as two code units, and some counters, including the stricter one in this tool, count them as two. If you are close to the limit, style less.\"}}, {\"@type\": \"Question\", \"name\": \"Why don't accented letters like \u00e9, \u00e3, \u00e7 or \u00f1 turn bold?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Unicode has bold and italic versions only for the 26 basic letters and digits. This tool splits accented letters into the base letter plus the accent, styles the letter and keeps the accent on top. It works in most apps, but on some devices the accent may sit slightly off.\"}}, {\"@type\": \"Question\", \"name\": \"Why does LinkedIn remove my blank lines?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"LinkedIn sometimes collapses empty lines when you paste. Tick Keep blank lines when pasting before copying. The tool fills empty lines with an invisible character so the spacing survives.\"}}, {\"@type\": \"Question\", \"name\": \"Can I use bold text in LinkedIn articles and newsletters?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"You don't need this tool there. The article editor has its own bold, italic, headings and lists.\"}}, {\"@type\": \"Question\", \"name\": \"Can I use formatted text in my headline or About section?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes, and it can help structure the About section. Keep the words you want to be found by in plain text, because search treats styled letters as different characters.\"}}, {\"@type\": \"Question\", \"name\": \"Do bold hashtags or @mentions still work?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. A styled hashtag is no longer a hashtag, and a styled mention won't tag anyone. The tool warns you if a hashtag is styled.\"}}, {\"@type\": \"Question\", \"name\": \"Will formatted text look the same on the LinkedIn app?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Bold, italic and monospace show correctly on current iPhone, Android, Windows and Mac. Rare styles like gothic or circled letters may appear as boxes on very old devices.\"}}, {\"@type\": \"Question\", \"name\": \"How do I convert formatted text back to normal?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Select the text and choose Clean up \u2192 Remove style , or Remove all styles to clean the whole post. You can also paste styled text from somewhere else and clean it here.\"}}, {\"@type\": \"Question\", \"name\": \"Can I schedule a formatted post without losing the formatting?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes. Because the styles are characters, they survive copy and paste into any scheduler. In Flux you can paste the post, send it for approval and schedule it for LinkedIn.\"}}, {\"@type\": \"Question\", \"name\": \"Is my text saved or sent anywhere?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. Everything happens in your browser. The draft is kept only on your device so you can come back to it.\"}}]}, {\"@type\": \"HowTo\", \"name\": \"How to use the LinkedIn text formatter\", \"inLanguage\": \"en\", \"step\": [{\"@type\": \"HowToStep\", \"position\": 1, \"text\": \"Write or paste your post in the editor. Your draft stays in this browser, so you can close the tab and come back.\"}, {\"@type\": \"HowToStep\", \"position\": 2, \"text\": \"Select the words you want to highlight and pick a style: bold, italic, underline, strikethrough, monospace or one of the extra styles. Press the same button again to remove it.\"}, {\"@type\": \"HowToStep\", \"position\": 3, \"text\": \"Check the preview. The pink line shows roughly where LinkedIn cuts your post with \u201c\u2026see more\u201d. Keep your opening line above it.\"}, {\"@type\": \"HowToStep\", \"position\": 4, \"text\": \"Copy and paste into LinkedIn. The styles go with the text, because they are characters, not formatting.\"}]}]}<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>IntegrationsFeaturesPlans and pricingFlux AIMCP and APIEnglish \u25bePortugu\u00easEnglishEspa\u00f1olLog inTry free for 7 days\u2630IntegrationsFeaturesPlans and pricingFlux AIMCP and APIPortugu\u00easEnglishEspa\u00f1olLog inTry free for 7 days LinkedIn Text Formatter: bold, italic and bullet points for your posts Style your LinkedIn post, check where LinkedIn will hide the rest behind \u201csee more\u201d, and copy it ready to paste. Works with [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":59886,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_yoast_wpseo_focuskw":"linkedin text formatter","_yoast_wpseo_title":"Free LinkedIn Text Formatter: Bold & Italic | Flux by Reportei","_yoast_wpseo_metadesc":"Format LinkedIn posts with bold, italic, underline, bullet points and line breaks. See the \u201csee more\u201d cut on desktop and mobile. Free, no sign-up.","inline_featured_image":false,"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"disabled","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-86503","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/reportei.com\/en\/wp-json\/wp\/v2\/pages\/86503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reportei.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/reportei.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/reportei.com\/en\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/reportei.com\/en\/wp-json\/wp\/v2\/comments?post=86503"}],"version-history":[{"count":5,"href":"https:\/\/reportei.com\/en\/wp-json\/wp\/v2\/pages\/86503\/revisions"}],"predecessor-version":[{"id":87569,"href":"https:\/\/reportei.com\/en\/wp-json\/wp\/v2\/pages\/86503\/revisions\/87569"}],"up":[{"embeddable":true,"href":"https:\/\/reportei.com\/en\/wp-json\/wp\/v2\/pages\/59886"}],"wp:attachment":[{"href":"https:\/\/reportei.com\/en\/wp-json\/wp\/v2\/media?parent=86503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}