🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

pink-balloon-font

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pink-balloon-font

A glossy pink balloon bitmap font for Expo, with a Nano Banana font generator CLI.

latest
Source
npmnpm
Version
1.0.0
Version published
Weekly downloads
11
-56%
Maintainers
1
Weekly downloads
 
Created
Source

Pink 3D balloon bitmap font showing uppercase letters, lowercase letters, and numbers

Pink Balloon Font

A glossy pink 3D bitmap font for Expo and React Native, with a CLI for generating your own coherent font using Nano Banana.

npm version npm downloads GitHub stars MIT license Node.js version

The package includes A-Z, a-z, and 0-9 as 62 transparent, variable-width PNG glyphs. They weigh 1.01 MB together and ship with an accessible BalloonText component that works without a font-loading step.

This is a bitmap display font, not a .ttf or .otf, so it cannot be loaded with expo-font or useFonts(). Use it for headings, scores, counters, and short labels. Keep paragraphs and input fields in a regular text font.

Install

npm install pink-balloon-font

Use it in Expo

import { BalloonText } from "pink-balloon-font";

export function Score() {
  return (
    <BalloonText
      text="Kiki 2048"
      size={72}
      letterSpacing={-4}
      accessibilityLabel="Kiki, score 2048"
    />
  );
}

Metro finds the static require() calls in the package and bundles the PNGs automatically. Unsupported characters render as spaces.

Props

PropTypeDefaultPurpose
textstringRequiredText to render
sizenumber64Glyph height in points
letterSpacingnumber0Space between glyphs
styleStyleProp<ViewStyle>Style for the containing row
accessibilityLabelstringtextSpoken label for assistive technology

For direct access to the font metrics and image sources:

import {
  BALLOON_FONT_EM,
  balloonFont,
} from "pink-balloon-font/font";

Why PNG instead of TTF or OTF?

The balloon look depends on color, reflections, seams, highlights, and soft 3D shading. A normal font file stores outlines, so it cannot reproduce that material faithfully. The PNG glyphs preserve the original render while shared font metrics keep every character aligned.

The included renderer handles one short line at a time. Split text on newlines and render multiple BalloonText rows when you need a multiline display.

Generate your own font

The CLI uses google/nano-banana-2 through Replicate. It generates each glyph on a flat chroma-key background, removes that background locally, aligns the result to shared font metrics, and writes compact transparent PNGs.

Add a Replicate token to .env in the directory where you run the command:

REPLICATE_API_TOKEN=r8_your_token_here

REPLICATE_API_KEY also works.

Generate the full alphanumeric set:

npx pink-balloon-font generate

Generate selected characters:

npx pink-balloon-font generate \
  --characters "ABCabc123!?" \
  --output ./my-balloon-font

The generated directory contains app-ready assets and the original model output:

my-balloon-font/
├── assets/
│   ├── BalloonFont.js
│   ├── font.json
│   └── glyph-*.png
└── raw/
    └── glyph-*.png

Match a custom style

The default prompt generates the pink balloon style without shipping reference images in the package. Add your own image when you need tighter consistency or want to create a different family:

npx pink-balloon-font generate \
  --reference ./my-material.png \
  --style "inflated cobalt-blue satin with soft silver highlights"

Generator options

OptionPurpose
--characters "ABC123"Generate only the supplied characters
--size 128Set packaged glyph height; 256 is the default
--reference ./style.pngAdd a visual reference; repeat for several images
--style "..."Describe the material, color, and shape
--concurrency 2Set the number of parallel generations
--key-color "#00ff00"Change the chroma-key background
--overwriteRegenerate glyphs already present
--dry-runPrint prompts without calling Replicate

Generation uses paid Replicate API calls. Test a small character set before generating the full 62-glyph family.

License

MIT

Keywords

expo

FAQs

Package last updated on 23 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts