TelegramUI is a free, open source design & prototyping project written in TypeScript and released under MIT. It has 860 GitHub stars, 90 forks and 45 open issues, and was last pushed 12 months ago. On this registry it ranks #74 of 85 tracked projects in Design & Prototyping, with 5 head-to-head comparisons available.

What is TelegramUI?

TelegramUI is a React components library that gives developers building Telegram Mini Apps a ready-made set of interface elements styled after Telegram's own design.

What it is

TelegramUI, published on npm as @telegram-apps/telegram-ui, is a TypeScript component library for the React ecosystem that supplies pre-designed UI components, color schemes, and layout patterns modelled on the Telegram interface. It is aimed at developers creating custom client apps, integrating Telegram functionality, or building bots, and it is part of the broader Telegram Mini Apps tooling space alongside example projects and design resources such as its companion Figma files.

The concrete problem it solves is the cost of hand-building an interface that looks and behaves like Telegram across every platform a Mini App can run. Instead of reimplementing Telegram's visual language from scratch, a developer imports ready-made components and its stylesheet, and the library handles consistency. It maintains a uniform appearance across platforms through built-in support for iOS's Human Interface Guidelines and Android's Material Design, applies Telegram's native color schemes for familiar branding, and uses flexible layouts and media queries so components respond correctly on any device.

Key capabilities

  • Import ready-to-use UI components such as AppRoot and Placeholder from @telegram-apps/telegram-ui, paired with the bundled dist/styles.css stylesheet.
  • Apply Telegram's native color schemes directly to an app so branding stays consistent with the Telegram look.
  • Maintain a single consistent design across platforms with built-in support for both iOS Human Interface Guidelines and Android Material Design.
  • Build responsive layouts through flexible layout primitives and media queries that adapt to different screen sizes.
  • Run in modern browsers with documented support for Edge >= 79, Firefox >= 78, Chrome >= 73, Safari >= 12.0, and iOS >= 12.0.
  • Render on the server, since server-side rendering is listed among supported environments, and work across all known Telegram clients.
  • Explore components interactively in the hosted Playground and Storybook at tgui.xelene.me, and prototype against the published Figma community files.

Who uses it and how

  • Frontend developers scaffolding a new Telegram Mini App who want a shell in place quickly; the TGUI-Example repository provides a complete TypeScript example project to start from.
  • Teams that split design and engineering work, using the shared Figma files for design and prototyping while engineers implement the same components in React.
  • Contributors working in the open: pull requests are explicitly welcome, and the repository currently carries 45 open issues with 860 stars and 90 forks, indicating an active community audience.
  • Organizations shipping across many clients and browsers who rely on the stated support matrix rather than testing each combination ad hoc.

Getting started

Install the package with npm i @telegram-apps/telegram-ui (or the equivalent yarn add / pnpm add command), import @telegram-apps/telegram-ui/dist/styles.css, and wrap your app in AppRoot.

How it compares

The library sits within the Telegram Mini Apps ecosystem referenced by the project's homepage and alongside its own example app, Storybook playground, and Figma resources rather than competing with general-purpose React UI kits; the facts supplied name no comparable alternatives. It is licensed under the MIT license and may be used freely in personal and commercial projects, and it was crafted by mainsmirnov with sponsorship from TON Foundation.

When to use it — and when not to

Because it is a component library rather than a hosted service, there is no database, storage, or SMTP to operate; a self-hoster only needs a normal React build and hosting for the Mini App itself. It is the wrong choice for a project that does not target Telegram, or one that must diverge substantially from Telegram's visual language, since its value depends on matching that interface. Note that the repository has 45 open issues and the README is a fairly brief overview, so teams needing extensive documentation may have to read source and Storybook examples instead.

project readme (upstream, from github) — read inline

Telegram UI

Overview

Telegram UI kit equips you with a variety of pre-designed components and tools to help you quickly develop high-quality Telegram applications. Whether you're aiming to create custom client apps, integrate Telegram functionality, or develop unique bots, this toolkit is your go-to resource.

Features

  • Cross-Platform Design Consistency: Use built-in support for iOS’s Human Interface Guidelines and Android’s Material Design to maintain a uniform look and functionality across both platforms.
  • Pre-designed UI Components: Access a variety of ready-to-use UI components inspired by Telegram’s interface, designed for easy integration and customization.
  • Responsive Design: Create apps that look and work great on any device, using flexible layouts and media queries to ensure optimal display and functionality.
  • Telegram Color Scheme Support: Apply Telegram’s native color schemes to your apps for consistent branding and a familiar user experience.

🖥 Environment Support

  • Modern browsers
  • Server-side Rendering
  • All known Telegram clients
Edge
Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Safari
Ios
>= 79 >= 78 >= 73 >= 12.0 >= 12.0

Resources

Installation

npm i @telegram-apps/telegram-ui
yarn add @telegram-apps/telegram-ui
pnpm add @telegram-apps/telegram-ui

Usage

import '@telegram-apps/telegram-ui/dist/styles.css';

import { AppRoot, Placeholder } from '@telegram-apps/telegram-ui';

const App = () => (
  <AppRoot>
    <Placeholder
      header="Title"
      description="Description"
    >
      <img
        alt="Telegram sticker"
        src="https://xelene.me/telegram.gif"
        style={{ display: 'block', width: '144px', height: '144px' }}
      />
    </Placeholder>
  </AppRoot>
);

export default App;

🤝 Contributing PRs Welcome

Active Contributors of Telegram-Mini-Apps/TelegramUI - Last 28 days

Contributions are welcome! To contribute, fork the repository, make your changes, and submit a pull request. We look forward to your innovative ideas and improvements.

License

This Telegram UI Kit is available under the MIT License. Use it freely in both personal and commercial projects.

The library was skillfully crafted by mainsmirnov, with the generous sponsorship of TON Foundation.

Frequently asked questions

Is TelegramUI free to use?

TelegramUI is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does TelegramUI do?

React components library for Telegram Mini Apps inspired by Telegram interface

What is TelegramUI written in?

TelegramUI is primarily written in TypeScript. Its source is publicly available at https://github.com/telegram-mini-apps-dev/TelegramUI, and it has 860 GitHub stars.