telegramify-markdown
Convert Markdown to Telegram plain text + MessageEntity pairs
Decision gist · record as of 2026-08-14
Yes. Active maintenance, no vulnerabilities, low install friction, and a permissive license. Install if you build Telegram bots that send formatted text—especially LLM output, documentation, or complex layouts. The library solves a real Telegram Bot API pain point (UTF-16 entity offsets) and offers both simple (convert) and advanced (streaming, Rich Messages) APIs.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction: pure Python wheel with a single runtime dependency (pyromark).
- Active maintenance with recent releases and no known vulnerabilities.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and proprietary projects.
last release 2026-06-14 (61 days) · last repo commit 2026-07-28 · 377 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 227,807 downloads/mo, #9,165 on PyPI
Alternatives
Verify before relying
from telegramify_markdown import convert
md = "**Bold**, _italic_, and `code`."
text, entities = convert(md)
# Send via Telegram Bot API
bot.send_message(chat_id, text, entities=[e.to_dict() for e in entities])- Whether LaTeX-to-Unicode and Mermaid rendering work out-of-the-box or require optional dependencies beyond the listed extras.
- Performance characteristics when processing very large Markdown documents or streaming LLM output.
- Compatibility with all Telegram Bot API versions and whether Rich Message support (Bot API 10.1) is fully stable.
What it is and what it does
Telegramify-markdown parses Markdown (including LLM output and GitHub READMEs) and produces (text, entities) tuples ready for the Telegram Bot API's MessageEntity parameter. It handles UTF-16 offset calculation automatically—a requirement Telegram imposes—eliminating the need for MarkdownV2 escaping and parse_mode parameters. The library is built on pyromark (Rust bindings to pulldown-cmark) for speed and correctness.
The package offers multiple output modes: convert() for static text, telegramify() for long documents with automatic splitting and code extraction, richify() for Telegram Bot API 10.1 structured Rich Messages, and streaming variants (DraftStream, EditStream) for token-by-token LLM output. It also supports LaTeX-to-Unicode conversion and optional Mermaid diagram rendering, making it suitable for complex formatted content in Telegram bots.
Use it for
- Send formatted LLM output (ChatGPT-like responses) to Telegram without worrying about escaping or parse_mode.
- Convert GitHub READMEs or other Markdown documents to Telegram messages with proper formatting and entity offsets.
- Stream token-by-token LLM responses with live draft updates or message edits in Telegram chats.
- Split long Markdown automatically into multiple Telegram messages while preserving formatting and entity boundaries.
- Render code blocks as file attachments and Mermaid diagrams as images alongside formatted text in a single flow.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Active maintenance, no vulnerabilities, low install friction, and a permissive license. Install if you build Telegram bots that send formatted text—especially LLM output, documentation, or complex layouts. The library solves a real Telegram Bot API pain point (UTF-16 entity offsets) and offers both simple (convert) and advanced (streaming, Rich Messages) APIs.
Install
telegramify-markdown on PyPI
Before you install
Low friction: pure Python wheel with a single runtime dependency (pyromark). Active maintenance with recent releases and no known vulnerabilities.
Requires Python 3.10 or later.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and proprietary projects.
Quickstart
from telegramify_markdown import convert
md = "**Bold**, _italic_, and `code`."
text, entities = convert(md)
# Send via Telegram Bot API
bot.send_message(chat_id, text, entities=[e.to_dict() for e in entities])
Verify before relying
- Whether LaTeX-to-Unicode and Mermaid rendering work out-of-the-box or require optional dependencies beyond the listed extras.
- Performance characteristics when processing very large Markdown documents or streaming LLM output.
- Compatibility with all Telegram Bot API versions and whether Rich Message support (Bot API 10.1) is fully stable.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepyromark |
| Maintenance | Actively maintained 61 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 227,807 / month, #9,165 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: telegramify_markdown-1.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “markdown to telegram bot api”
- telegramify-markdownConverts Markdown to Telegram plain text with MessageEntity pairs for…
- python-telegram-botProvides a pure Python asynchronous interface to the Telegram Bot…
- pyTelegramBotAPIA Python library that wraps the Telegram Bot API, providing both…
Give your agent the search over MCP, or paste the wish link into any chat.
More Markup packages
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
A Python markdown parser that converts markdown to HTML following the CommonMark specification, with support for plugins and custom syntax rules.
Install it if you need reliable markdown-to-HTML conversion.
Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.
Install it if you need to parse or extract data from markup documents.
et_xmlfile writes large XML files with minimal memory overhead by serializing elements to disk as they are created, rather than holding the entire tree in memory.
Install it if incremental XML writing fits your use case; skip it if your XML documents are small or you already use lxml.
Parses and edits TOML files while preserving formatting, comments, and structure, then serializes them back with layout intact.
Install it if you're building tools that touch TOML files and user readability of the source matters.
Parses Python docstrings in ReST, Google, Numpydoc, and Epydoc formats, extracting structured information like descriptions, parameters, return types, and exceptions.
Install it if you need to programmatically read and extract structured data from Python docstrings.
See also slackify-markdown · strip-markdown · markdownify · markdown-to-mrkdwn · mkdocs-mermaid2-plugin · md2Slack · django-markdownify · py-gfm · pptx2md · mdit-plain