Inline keyboard builder

Build Telegram bot inline keyboards visually and copy the reply_markup JSON to paste into your Bot API call. Supports URL, callback, switch-inline, login URL, and Mini App buttons.

JSON output

  

How to send this from your bot

curl

curl -s "https://api.telegram.org/bot$TOKEN/sendMessage" \
  -d chat_id=12345 \
  -d text="Pick one" \
  --data-urlencode 'reply_markup={}'

Python (python-telegram-bot)

from telegram import InlineKeyboardMarkup
markup = InlineKeyboardMarkup.de_json({}, bot)
await bot.send_message(chat_id=12345, text="Pick one", reply_markup=markup)

Button types — what they actually do

URLOpens a link in the user's browser. The most common type.
CallbackSends a callback_query to your bot when tapped — handle it with answerCallbackQuery. Use for in-chat actions.
Switch inlineSwitches the chat to inline-query mode with your text pre-filled.
Login URL"Log in with Telegram" — sends your URL a signed payload identifying the user. Domain must be set in BotFather.
Mini AppOpens a Telegram Mini App (full HTML/JS app inside Telegram). URL must be HTTPS.
Copy textTapping copies the text to the user's clipboard. Newer button type.

Tips

Related tools