Flutter
app development
change app name
mobile development
Flutter tutorial

How can I change the app display name build with Flutter?

Master System Design with Codemia

Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.

Introduction

Changing a Flutter app's display name means updating the native platform metadata, not just changing Dart code. Flutter builds Android and iOS apps from platform-specific project files, so the launcher name must be updated in the Android manifest or string resources and in the iOS bundle display settings.

Android: Change the Launcher Label

On Android, the visible app name comes from the android:label value on the application entry. In most Flutter projects, that label points to a string resource rather than a hardcoded value.

Check android/app/src/main/AndroidManifest.xml:

xml
1<application
2    android:label="@string/app_name"
3    android:name="${applicationName}"
4    android:icon="@mipmap/ic_launcher">
5    ...
6</application>

Then update android/app/src/main/res/values/strings.xml:

xml
<resources>
    <string name="app_name">New App Name</string>
</resources>

Using a string resource is better than hardcoding the label directly in the manifest because it supports localization and keeps the manifest cleaner.

iOS: Change the Bundle Display Name

On iOS, the home-screen name is usually controlled by CFBundleDisplayName in ios/Runner/Info.plist.

xml
<key>CFBundleDisplayName</key>
<string>New App Name</string>

If CFBundleDisplayName is not present, some projects fall back to CFBundleName, but CFBundleDisplayName is the value you typically want for the launcher label.

Rebuild After Changing Native Metadata

After editing the platform files, rebuild the app so the native bundle metadata is refreshed.

bash
flutter clean
flutter run

For release builds:

bash
flutter build apk
flutter build ios

If the old name still appears on a simulator or device, uninstalling the existing app and reinstalling it can help when cached metadata sticks around.

Keep Android and iOS Names Consistent

It is easy to update only one platform and forget the other. If your app ships to both Android and iOS, make sure:

  • Android app_name matches the intended label
  • iOS CFBundleDisplayName matches the same branding
  • localized resources are updated if you support multiple languages

Otherwise the same Flutter app can show different names on different devices.

Localizing the Display Name

If your app is localized, you may want different launcher labels per language. On Android, that means adding translated app_name strings in language-specific values folders. On iOS, it usually means localized string resources for bundle display values.

This is separate from Flutter's Dart-side localization. The launcher name is still a native-platform concern.

Avoid Confusing App Name With Package Identifier

Changing the display name does not change:

  • Android application ID
  • iOS bundle identifier
  • package names used for installs or store submission

That is an important distinction. The launcher name is just the user-facing label under the app icon.

Common Pitfalls

The biggest mistake is changing only a Dart constant and expecting the icon label to update. The launcher name lives in the native platform files.

Another issue is hardcoding the Android name in the manifest when the rest of the app already uses string resources. That makes localization and later maintenance harder.

Developers also forget that iOS and Android use different files for the display name, so one platform gets updated while the other keeps the old label.

Finally, if the new name does not appear immediately, rebuild the app and, if necessary, remove the old installed build before retesting.

Summary

  • Change the Flutter app display name in native platform files, not in Dart code.
  • On Android, update android:label and usually the @string/app_name resource.
  • On iOS, update CFBundleDisplayName in Info.plist.
  • Rebuild the app after making native metadata changes.
  • Do not confuse the visible app name with the package or bundle identifier.

Course illustration
Course illustration

All Rights Reserved.