maxFontSizeMultiplier works differently between iOS and Android
Open
Nobody has claimed this yet.
Needs: Triage :mag:
Platform: Android
Platform: iOS
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 4
Description
Description
maxFontSizeMultiplieraffects thefontSizeon both Android and iOS.- When font scaling is set to a value higher than
maxFontSizeMultiplier, both Android and iOS clamp thefontSizevalue - When it comes to
lineHeight, it acts differently. iOS clamps the value while Android ignores themaxFontSizeMultiplierforlineHeight
Please see the screenshots for a side-by-side comparison
Steps to reproduce
- Install he reproducer app with
yarn androidandyarn ios - Take a screenshot of the app so you can compare later
- Increase the font scaling. You can either use the settings app, or
cmd option +on iOS simulator, andadb shell settings put system font_scale <value>on Android - Take another screenshot and compare those two
React Native Version
0.85.2
Affected Platforms
Runtime - iOS, Runtime - Android
Output of npx @react-native-community/cli info
info Fetching system and libraries information...
System:
OS: macOS 15.7.4
CPU: (12) arm64 Apple M4 Pro
Memory: 258.47 MB / 48.00 GB
Shell:
version: 0.109.1
path: /Users/burakguner/.cargo/bin/nu
Binaries:
Node:
version: 24.13.0
path: /Users/burakguner/.nix-profile/bin/node
Yarn:
version: 1.22.22
path: /Users/burakguner/.nix-profile/bin/yarn
npm:
version: 11.6.2
path: /Users/burakguner/.nix-profile/bin/npm
Watchman:
version: 2026.01.19.00
path: /Users/burakguner/.nix-profile/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /Users/burakguner/.local/share/gem/ruby/3.3.0/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.2
- iOS 26.2
- macOS 26.2
- tvOS 26.2
- visionOS 26.2
- watchOS 26.2
Android SDK:
API Levels:
- "30"
- "31"
- "34"
- "35"
- "36"
Build Tools:
- 35.0.0
- 36.0.0
- 36.1.0
System Images:
- android-30 | ARM 64 v8a
- android-34 | Google Play ARM 64 v8a
- android-35 | Google APIs ARM 64 v8a
- android-35 | Google Play ARM 64 v8a
- android-36.1 | Google Play ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2025.3 AI-253.32098.37.2534.15232325
Xcode:
version: 26.2/17C52
path: /usr/bin/xcodebuild
Languages:
Java:
version: 21.0.8
path: /Users/burakguner/.nix-profile/bin/javac
Ruby:
version: 3.4.8
path: /Users/burakguner/.nix-profile/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.1.0
wanted: 20.1.0
react:
installed: 19.2.3
wanted: 19.2.3
react-native:
installed: 0.85.2
wanted: 0.85.2
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
Stacktrace or Logs
N/A
MANDATORY Reproducer
https://github.com/atlj/reproducer-max-font-size-multiplier-line-height
Screenshots and Videos
| Font Scale | iOS | Android |
|---|---|---|
| 1 | ||
| 2.143 |
Notice how lineHeight is not clamped on Android screenshots
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the mandatory reproducer app and run it with yarn android and yarn ios. Compare screenshots at normal and increased font scales using the issue's settings commands; done means Android lineHeight is clamped by maxFontSizeMultiplier consistently with iOS.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, ios, react-native
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100