Flutter & Dart Tools

Dart / Flutter Package Name Generator

Project display names often contain spaces or capitals that do not belong in a Dart package identifier. This helper splits common camel-case boundaries, lowercases the text and replaces invalid character runs with underscores. It also handles a leading digit and Dart reserved words. Add an organization domain if you want an Android application ID suggestion alongside the package name. These are naming suggestions only: ownership of a domain, package availability and trademark suitability are not checked. Review the name before creating or publishing a project.

Your workspace

Runs locally in your browser

Result

Your input is processed locally in your browser unless explicitly stated otherwise. Inputs are not saved by this tool.

How to use this tool

Enter the project name and generate. Optionally add an organization domain to suggest an Android application ID.

Example

Input

My Flutter App

Output

my_flutter_app

What does this tool do?

Dart package names use lowercase letters, digits and underscores. A name should begin with a letter or underscore and must not be a reserved word.

Common mistakes and limitations

Names use ASCII characters. Non-ASCII letters are removed; review the result for meaning. A syntactically valid name may already be taken on pub.dev. Android application IDs follow separate rules.

Package identifiers are not display names

A pub package name is an identifier used in imports and dependency declarations. Prefer lowercase letters with underscores separating words, such as weather_widget. Digits can appear after a valid start, but a name must not begin with a digit or be a reserved Dart word. A friendly app title can contain spaces and capitals independently of the package identifier, so there is no need to force the visible product name to look like code.

Display title: Weather Widget
Dart package: weather_widget
Import: package:weather_widget/weather_widget.dart

Android application IDs use another convention

An Android application ID commonly uses a reverse-domain shape such as com.example.weather_widget. It identifies an installed application and is not the same thing as the Dart package name in pubspec.yaml. Reversing a supplied domain is a convenience for drafting a suggestion, not proof that you own that namespace or that a store will accept it. Follow your organization’s established application-ID conventions before publishing.

Normalization is a starting point

The generator lowercases text, separates common camel-case boundaries and replaces unsupported character runs with underscores. Review abbreviations and transliterated words after normalization; an automatically cleaned name may be technically valid but unclear. Check pub.dev availability and the project’s naming rules yourself. Renaming a published package or an established app identifier has migration consequences that this tool cannot handle. Pick a stable, descriptive name early and keep the display title separate.

Review the suggested namespace before creation

A reverse-domain example such as com.example is appropriate for a tutorial but should not be mistaken for an organization-owned production namespace. Choose the real domain and app identifier through your project’s release process. Dart package naming and Android publishing are related setup tasks, but changing one does not automatically migrate the other. Keep the generated suggestion in context with pubspec, platform configuration and existing release history.

Frequently asked questions

Does this reserve the package name?

No. Check availability before publishing. The tool only sanitizes and validates the name.

Related tools