Legacy image formats in a mobile app asset library
Learn what legacy image formats mean, which ones to keep or convert, and how to check converted assets before adding them to a mobile app.
A legacy image in an app library is an image saved in an older or less convenient format, such as BMP, TIFF, GIF, or ICO. It may still be usable, but your editor, build process, or target devices might not handle it as expected. Keep the original, convert a copy to a format your app supports, then check the result in the app.
The right format depends on what the image is for. JPEG is often suitable for photographs without transparency, while PNG is useful for graphics that need transparency or sharp edges. Before converting a whole library, try a few representative files and confirm how they look in the app.
What makes an image format legacy?
“Legacy” is a practical label, not a technical warning that the file is broken. It usually means a format is older, less common in current workflows, or not handled by every tool in your app pipeline. A file can open correctly on your computer and still fail during import, conversion, or display on a phone.
The filename ending, such as .bmp or .tif, is a clue to the format, but changing that ending does not convert the image. Renaming icon.bmp to icon.png leaves the image data unchanged. Use an image converter, then update the app to point to the new file if its name or location has changed.
Also distinguish the image format from its size and dimensions. Converting a large image to PNG does not automatically make it smaller, and converting a small image to JPEG does not add detail that was never there.
What common legacy formats contain
BMP
BMP is a raster format, meaning the image is stored as a grid of pixels. Some BMP files are large because they use little or no compression. If a BMP is a photo or a simple graphic, make a copy and convert it to a format your app supports. Compare the output size and appearance before replacing the original.
TIFF
TIFF is common in scanning, print, and archival workflows. It can store image data and color information in ways that an app's asset pipeline may not support. If you only need a screen-ready copy, convert it to a format accepted by your app. Keep the TIFF as the source if it may be needed again for editing or print.
GIF
GIF can contain a still image or an animation. Check which one you have before converting it. If the animation matters, make sure your chosen export and app workflow preserve it. A still image export cannot replace an animation that the app is meant to show.
ICO
ICO is used for icons and may contain more than one image size. If you convert it to a single PNG or JPEG, check that the exported size is appropriate for the place the image will appear. A tiny icon enlarged to fill a screen can look blurry.
Choose a format for the asset's job
Photographs without transparent areas
JPEG is often a sensible choice for photos because it can reduce file size, but it uses lossy compression. That means some image detail is discarded, especially after repeated edits and exports. Keep a high-quality source copy and inspect small text, fine textures, and edges in the converted version.
Logos, interface graphics, and transparency
PNG supports transparency and can keep sharp-edged graphics clear. It may be larger than a compressed photo file, so do not assume it is the best format for every image. If the app uses vector assets, confirm that its import and build process supports the vector format before relying on it.
Images with animation
Keep an animation in a format and workflow that your app can display as an animation. Test the movement, timing, and appearance on a device or emulator. If you only need one frame, export or choose that frame deliberately rather than treating an animated file as a still image by accident.
Convert a few assets and check them
- Make a backup of the asset folder. Open a copy of one BMP, TIFF, GIF, or ICO in the Image Converter, which converts images among JPG, PNG, WEBP, GIF, BMP, ICO, and TIFF.
- Choose an output format based on the image's purpose. Use PNG when you need transparency, and consider JPEG for a photo without transparent areas. Check your app's supported formats before converting.
- Compare the converted copy with the original at the size it will appear in the app. Look for missing transparency, rough edges, unexpected color changes, and reduced detail.
- Test the copy through the same import or build process used for the rest of the app. Open the relevant screen on a phone or emulator and check that the image loads at the intended size.
- After the test succeeds, convert the remaining assets in batches if that suits your workflow. Update file references in the project, and search for any old filenames that are still being used.
The Image Converter works on files in your browser, so the files are not uploaded. Keep your backup until you have checked the app build and confirmed that the original files are no longer needed.
What to check after conversion
The image has a solid background instead of transparency
The source may have had transparent pixels, or the chosen output format may not preserve transparency in your workflow. Use a format that supports transparency, then check both the exported file and the app screen. Dark backgrounds can make missing transparency easier to spot.
The app still rejects the file
The issue may be in the app's importer or build configuration, not just the file extension. Confirm the exact supported formats and any asset naming rules for your project. Test one converted file in the normal pipeline before converting the rest of the library.
The image looks blurry or the colors look different
Compare the image at its actual display size, not only when zoomed far in. Check whether the source dimensions are large enough for that display, and whether your export settings changed image quality. Conversion cannot restore detail already lost in the source.
Keep original files in a separate source folder and use converted copies in the app. That makes it easier to redo an export or change formats later without losing the best available version.
