Search packages, repositories and app categories

GitHub repositoryAnupKumarPanwar/Linkable

Linkable

A Flutter widget to dynamically add links to your text.

Linkable project cover
Stars
17
Forks
20
Last push (UTC)
Nov 20, 2025
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

linkable pub package

A Flutter widget to add links to your text. By default, the Text or RichText widgets render the URLs in them as simple text which are not clickable. So, Linkable widget is a wrapper over RichText which allows you to render links that can be clicked to redirect to the URL. That means that a Linkable widget supports all the attributes of a RichText Widget.

Currently linkable supports the following types:

  • Web URL (https://www.github.com/anupkumarpanwar)
  • Emails (mailto:1anuppanwar@gmail.com)
  • Phone numbers (tel:+918968894728)

Note: You don't need to specify the URL scheme (mailto, tel etc). The widget will parse it automatically.

Install

To install the package, add the following dependency to your pubspec.yaml

dependencies:
  linkable: ^4.0.0
  url_launcher: ^6.1.14
Android

Starting from API30 (Android 11), your Android app has to list all apps it interacts with.

The following is required in AndroidManifest.xml or links will fail to launch.

<manifest>

    <!-- Nest within the manifest element, not the application element-->
    <queries>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="https" />
        </intent>
        <intent>
            <action android:name="android.intent.action.DIAL" />
            <data android:scheme="tel" />
        </intent>
        <intent>
            <action android:name="android.intent.action.SEND" />
            <data android:mimeType="*/*" />
        </intent>
    </queries>

    <application>
        ....
    </application>
</manifest>
iOS

Add the LSApplicationQueriesSchemes entries in your Info.plist file.

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>tel</string>
</array>

Usage

Basic
import 'package:linkable/linkable.dart';

Linkable(
	text:
	"Hi!\nI'm Anup.\n\nYou can email me at 1anuppanwar@gmail.com.\nOr just whatsapp me @ +91-8968894728.\n\nFor more info visit: \ngithub.com/anupkumarpanwar \nor\nhttps://www.linkedin.com/in/anupkumarpanwar/",
);
Attributes
Key Description
text The text to be displayed in the widget.
textColor Color of the non-link text. (default: black)
linkColor Color of the links. (default: blue)
style TextStyle to be applied on the widget.
textAlign TextAlign value. (default: TextAlign.start)
textDirection Determines the order to lay children out horizontally.
maxLines Maximum number of lines to be displayed.
textScaleFactor The number of font pixels for each logical pixel.

Screenshot

Screenshot

Anup Kumar Panwar GitHub avatar
GitHub author

Anup Kumar Panwar ↗

Founder of The Algorithms | Software Engineer @ Zepto | ex-Product Engineer @ Gojek | Google Summer of Code 2018

@TheAlgorithms @Gojek @ZeptonowBanaglore | Chandigarh (India)Official website ↗
LanguagesC++CMakeDartRubySwiftCHTMLKotlinObjective-C

Categories

Packages published by this repository

Dependencies used

Dependency list 4 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗