Skip to content

Add RTL layout support for reply markups #882

Open

Description

@mirismaili

Is your feature request related to a problem? Please describe.

Bots that serve right-to-left languages currently have no Bot API-level way to indicate that a bot or an individual message should use RTL layout. As a result, bots and third-party libraries must implement message-specific workarounds for keyboard ordering and input layout.

Describe the solution you'd like

Please consider adding an optional RTL setting that can be configured either globally for a bot or overridden for an individual message. When enabled:

  • Buttons in every row of both Keyboard and InlineKeyboard should be laid out from right to left by reversing the row order.
  • The ForceReply input field, including input_field_placeholder, should use RTL direction/alignment.

This would provide a consistent, first-class solution for bots serving Persian, Arabic, Hebrew, Urdu, and other RTL languages without requiring each bot or framework to transform reply markups independently.

Activity

  1. changed the title [-]Add RTL layout support for bot messages and reply markups[/-] on Aug 4, 2026
  2. levlam commented on Aug 4, 2026

    @levlam
    Contributor

    This requires support in all apps and server-side API, therefore it must be posted at https://suggestions.telegram.org/ instead.

  3. Haidar78954 commented on Aug 5, 2026

    @Haidar78954

    We are currently experiencing this issue with Arabic RTL Reply Keyboard buttons as well. I have submitted Telegram suggestion #64344 with a real example, and I hope it receives a response.

    I also submitted #64346 requesting custom HEX color control for Inline Keyboard buttons, allowing bots to better reflect their visual identity.

    Please support and vote for both cards if these improvements would help your bots:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions