Skip to content
Formatly Write it. Style it. Post it.

Chrome extension · v1.1.0

Social platforms won't format your posts. Formatly does.

Eighteen styles, in a full editor or right inside the Facebook composer — and an honest answer for every language you write in.

  • No account
  • Zero network requests
  • Two permissions
  • Free, forever
Formatly Editor 190 / 63,206 Facebook post

𝗪𝗲 𝗷𝘂𝘀𝘁 𝘀𝗵𝗶𝗽𝗽𝗲𝗱 𝘃𝟭.𝟭

Three years of work, and the part I'm proudest of is the part nobody sees.

𝘍𝘶𝘭𝘭 𝘸𝘳𝘪𝘵𝘦-𝘶𝘱 𝘣𝘦𝘭𝘰𝘸 — worth your five minutes.

#buildinpublic @formatly waafaa.com/formatly

Hashtags, mentions and links left alone — styling them stops them working.

Sans Bold Sans Italic Monospace Fraktur +14
Real Unicode output, rendered by your own browser — not a screenshot of it.

Two ways in, one engine

A workspace when you're writing. A toolbar when you're posting.

Both surfaces call the same formatting core, so a style behaves identically wherever you reach for it. That was not free: one release shipped two toolbars that disagreed about which glyph meant Bold, and fixing it meant moving the rule above both.

The Formatly Editor

Click the toolbar icon and get a full writing workspace: several drafts open in tabs, styling on any part of any of them, a preview at the size people actually read at, and one-click copy.

  • Drafts in tabs, renameable, memory-only unless you say otherwise
  • Headings, bullet lists, numbered lists, quotes, separators
  • Emoji picker with search and a recents row
  • Undo and redo — including for styling
  • Light, dark and system themes

The Quick Formatter

Already mid-post on Facebook? Select any text and a small toolbar appears where you selected it. Pick a style, keep typing. You never leave the composer.

  • Runs on www.facebook.com and web.facebook.com, nowhere else
  • Reads only the text you actively selected
  • 8.8 KB gzipped, against a 25 KB budget
  • No idle observers — nothing runs until you select something
  • Switch it off entirely in Settings
  1. 01

    Write or paste

    In the editor, or in the composer you were already using.

  2. 02

    Select and style

    Eighteen styles. Each button is rendered in the style it applies.

  3. 03

    Copy and post

    Ordinary text goes onto the clipboard. Paste it anywhere.

Eighteen styles

Every one of these is rendering right now, in your browser

Nothing below is an image or a webfont. It is the exact character sequence Formatly would put on your clipboard, drawn by whatever font your device has for it — which is precisely why some of them carry a warning.

Safe almost anywhere render risk: low

  • Bold𝐅𝐨𝐫𝐦𝐚𝐭𝐥𝐲
  • Italic𝐹𝑜𝑟𝑚𝑎𝑡𝑙𝑦
  • Bold Italic𝑭𝒐𝒓𝒎𝒂𝒕𝒍𝒚
  • Monospace𝙵𝚘𝚛𝚖𝚊𝚝𝚕𝚢
  • Sans𝖥𝗈𝗋𝗆𝖺𝗍𝗅𝗒
  • Sans Bold𝗙𝗼𝗿𝗺𝗮𝘁𝗹𝘆
  • FullwidthFormatly

Font-dependent render risk: medium

  • Sans Italic𝘍𝘰𝘳𝘮𝘢𝘵𝘭𝘺
  • Sans Bold Italic𝙁𝙤𝙧𝙢𝙖𝙩𝙡𝙮
  • Scriptℱℴ𝓇𝓂𝒶𝓉𝓁𝓎
  • Bold Script𝓕𝓸𝓻𝓶𝓪𝓽𝓵𝔂
  • Fraktur𝔉𝔬𝔯𝔪𝔞𝔱𝔩𝔶
  • Bold Fraktur𝕱𝖔𝖗𝖒𝖆𝖙𝖑𝖞
  • CircledⒻⓞⓡⓜⓐⓣⓛⓨ

The riskiest two render risk: high

  • Double-struck𝔽𝕠𝕣𝕞𝕒𝕥𝕝𝕪
  • Small CapsFᴏʀᴍᴀᴛʟʏ

Unicode has no small-capital X at all, and small-capital Q is missing from many fonts. Formatly carries that sentence on the style itself, in the picker, rather than only in a help page.

Decorations Latin · Greek · Cyrillic

  • UnderlineF̲o̲r̲m̲a̲t̲l̲y̲
  • StrikethroughF̶o̶r̶m̶a̶t̶l̶y̶

These work by adding a combining mark to each letter, so they are low-risk on Latin, Greek and Cyrillic and destructive everywhere else: on Bengali, Hindi, Arabic, Hebrew, Thai and CJK text the mark breaks the shaping and renders as solid boxes — measured on real devices, not assumed. Formatly does not offer them there.

Formatly labels a style May not display everywhere before you use it, not after someone tells you your post looked like empty boxes. Whether a style renders depends on the reader's device, not on your post.

The differentiator

Every language in. Nothing corrupted out.

Most tools in this category mangle non-Latin text or silently drop it. Formatly accepts any writing system, styles what Unicode allows to be styled, and passes the rest through completely unchanged — and it tells you which is which before you copy.

Styled

Latin · Greek · numbers

  • Latin𝗧𝗵𝗲 𝗹𝗮𝘂𝗻𝗰𝗵 𝗶𝘀 𝗹𝗶𝘃𝗲
  • Greek𝛢𝛥𝛯𝛱𝛴
  • Digits𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵

Unchanged

Bangla · Hindi · Arabic · Hebrew · Thai · CJK

  • Banglaআমার সোনার বাংলা
  • Hindiनमस्ते दुनिया
  • Arabicمرحبا بالعالم
  • Japaneseこんにちは世界

Why "unchanged" is the honest answer, not a missing feature

Unicode has no styled letterforms for these scripts. There is no bold Bengali codepoint to substitute — no tool can style them, and the ones that claim to are either corrupting your text or stacking marks that render as boxes. Formatly reports the truth: it shows you "Latin 19 styled / Bengali 8 unchanged" and a plain-language line under it, so you know what you are about to post before you post it.

Your emoji stay whole. Your line breaks stay put. Nothing is ever lost — 27 scripts are covered by 97 corpus entries in the test suite, and the codepoint tables are machine-checked against Unicode itself on every build.

Character counting

A styled character costs more than it looks like it does.

On X, a styled character counts as two. Most formatters count the letters you can see and let you find out at the post button. Formatly counts the way each platform counts, and shows the whole breakdown when you hover: characters, code points, UTF-16 units, and X's own weighted units.

Choosing a platform sets the counter only — it does not mean Formatly runs on that site. Styled text is ordinary characters, so you write here and paste anywhere. The in-page toolbar is Facebook-only. Platform limits change; treat the numbers as a guide.

  • Facebook post63,206
  • Facebook comment8,000
  • X / Twitter280weighted
  • LinkedIn3,000
  • Instagram2,200
  • Threads500
  • Bluesky300
  • YouTube description5,000

Screens

Captured from the built extension, not mocked up

Every shot below is Playwright driving the real dist/ build at 1280×800 — the same discipline that has now caught three defects a passing test suite did not. The captures below predate the v0.3.2 colour change, so the interface in them is the old citron rather than the blue it ships as today.

The Formatly editor with a post written in it, the headline styled in sans bold and the body left plain, a preview panel on the right and a character counter below
Write, style, and copy your post. Only the headline is styled here — which is the recommended way to use it.
Formatly's capability report showing Latin 19 characters styled and Bengali 8 characters unchanged, with a plain-language explanation underneath
Every language. Nothing corrupted. The report says what will happen before you copy.
The character counter with the platform picker open, listing Facebook, X, LinkedIn, Instagram, Threads, Bluesky and YouTube presets
Know exactly how long your post really is — counted the way the platform counts.
Chrome's extension details page for Formatly showing storage permission and access limited to two Facebook addresses
Two permissions. No servers. No account. This is the browser's own extensions page, not a mockup of one.

Private by construction

Don't take our word for it. Open the Network tab.

Your unpublished posts stay on your computer — not because we promise it, but because there is nowhere else for them to go. Formatly has no server, no account system, and makes no network requests of any kind.

Zero network requests

Not a policy — a property of the build, checked automatically against the shipped bundles before every release, and checkable by you in half a minute with the Network tab open. There is no server for your writing to reach.

Two permissions, and that is all

storage, plus two named Facebook hosts. No tabs, no scripting, no activeTab, no clipboard permission. Formatly cannot see any other website — the manifest does not let it.

Your drafts, your disk

Drafts live in memory and clear when you close the browser. One setting saves them to disk inside your own Chrome profile — the same place Chrome keeps your bookmarks. The setting says so before you turn it on.

Tested before it ships

407 unit tests at 100% branch coverage on the formatting core, 71 end-to-end tests driving the real built extension, and 27 writing systems checked against a 97-entry corpus. A release that fails any of them does not get packaged.

Check it yourself in about thirty seconds

  1. Open Chrome DevTools and switch to the Network tab.
  2. Use Formatly — write, style, copy, format something on Facebook.
  3. Watch the panel stay empty.

The automated equivalent runs on every build. This one takes half a minute, runs in your own browser, and needs no trust at all.

What this costs you

Styled text is a trade. Here is the whole bill.

Platforms accept plain text only, so Formatly substitutes Unicode characters that look styled. That is the only technique available, and it has real costs. A tool that hides them is selling you a surprise.

  • Screen readers can't read it

    Styled text is silent or gibberish to assistive technology. Use it for a headline, not for a whole post. Formatly's first-run card says this before you type a word.

  • It isn't searchable

    A platform's search indexes the characters, and 𝐁𝐨𝐥𝐝 is not the word "Bold". Styled text will not be found by people looking for it.

  • Styled hashtags stop working

    Which is why Formatly protects hashtags, mentions, links and email addresses by default when you style a whole post. You can turn each guard off.

  • Some styles show as boxes

    Script, Fraktur, Double-struck and Circled depend on the reader having a font for them. Formatly marks each risky style before you use it.

  • It is not real bold

    No tool can do real bold on these platforms. A platform that normalises text (NFKC) flattens every styled character back to plain ASCII — so styling can be undone by the receiving end, and Formatly does not claim otherwise.

  • The in-page toolbar is Facebook-only

    For now. The editor works for every platform because copied text is just text — but the composer integration exists for two Facebook hosts and nothing else.

Questions

Frequently asked questions

Is Formatly free?

Yes — completely. Free on the Chrome Web Store, with no paid tier, no trial, no upsell and no ads. There is no account to make and nothing to buy.

Does it work on Instagram, LinkedIn or X?

The editor does, in the sense that matters: styled text is ordinary text, so you write it in Formatly, copy it, and paste it into any platform's composer. The character counter has presets for eight platforms.

The in-page toolbar — the one that appears when you select text without leaving the page — currently works on Facebook only, because each platform's composer needs its own adapter and shipping one that half-works is worse than shipping none.

Why doesn't it style my Bengali, Hindi or Arabic text?

Because Unicode contains no styled letterforms for those scripts. There is no bold Bengali character to substitute, so no tool on any platform can style them. Anything that claims to is either corrupting your text or stacking combining marks that render as boxes on most devices.

Formatly passes that text through completely unchanged and tells you it did. Underline and Strikethrough are also withheld there for the same measured reason.

Will my styled post look right for everyone?

Seven of the eighteen are rated low risk by the engine itself — Bold, Italic, Bold Italic, Monospace, Sans, Sans Bold and Fullwidth — and are safe on essentially any modern device. Seven more are font-dependent, and Double-struck and Small Caps are the two rated high. Formatly carries that rating into the picker, before you commit, rather than leaving you to find out from a reader.

Can Formatly read my Facebook feed, messages or cookies?

No. It reads the text you have actively selected in a composer, at the moment you click a formatting button, and writes the result back into the same box. It has no tabs permission, no cookie access, and no ability to reach any site other than the two Facebook hosts named in its manifest.

Is anything I write sent anywhere?

No. Formatly makes zero network requests — there is no server to send anything to. Editor text lives in memory and Chrome's in-memory session storage. Drafts stay in memory unless you switch on "Keep drafts after I close the browser", and that switch writes them to your own disk, never off it.

See the privacy policy for the complete account.

Can it read my clipboard?

No. Formatly can write to the clipboard when you click Copy. It cannot read it, and it holds no clipboard permission that would let it.

What happens to my emoji and line breaks?

They survive intact. Emoji are grapheme clusters and are never split mid-sequence; line breaks are preserved exactly. Both are covered by the test corpus rather than by hope.

Install

Free on the Chrome Web Store

Formatly is free — no account, no trial, no paid tier, and nothing to upgrade to. Chrome installs it in one click and keeps it updated from then on.

Install Extension — Free
  • No account and no sign-up
  • Two permissions: storage, and two named Facebook addresses
  • Nothing you write is ever sent anywhere
  • Uninstall from the toolbar in two clicks

After installing, click the Formatly icon in your toolbar to open the editor — or select text in a Facebook composer and the toolbar appears where you selected it.

A style that broke? Write to a person.

A composer Formatly did not recognise, a script it handled wrongly, a style your audience saw as boxes. There is no in-app reporting — that would need a network request — so email and GitHub issues are the whole support channel, and both are read.

Email support