iOS & Android 100% on-device No account, no tracking One-time unlock, no subscription

Your photos, redrawn on
hardware that no longer exists.

Retro Palette quantizes any picture down to the exact colours a Game Boy, an NES or a Commodore 64 could actually put on screen — including the on-screen colour budgets the real hardware had to live within — then dithers it the way cartridge artists did. Every step runs on your phone. Nothing is uploaded, nothing is stored, nothing is tracked.

Coming soon to the App Store Coming soon to Google Play

Retro Palette is in store review preparation. Want to know when it lands? Drop us a line.

7 palettes
measured from the original hardware
0 bytes uploaded
conversion never touches a server
0 accounts
no sign-in, no profile, no email

Four taps from a photo to a cartridge screenshot.

No layers, no brushes, no export settings you have to learn. The interesting decisions — which colours the hardware could show together, how to spread the error, how big a pixel should be — are the app's job, not yours.

1

Pick an image

Choose any photo from your gallery. Retro Palette asks for photo access only at the moment you pick, and it reads exactly the one image you selected.

2

Choose a palette and a pixel size

Game Boy, NES or C64 for free; PICO-8, ZX Spectrum, CGA and Virtual Boy with the Pro unlock. Pixel size runs from Chunky · 96px through Classic · 160px and Fine · 256px, or off entirely if you want full resolution.

3

Convert on device

Perceptual (redmean) colour matching, a saturation and contrast pre-boost, a per-image sub-palette chosen within the hardware's on-screen limit, ordered Bayer dithering and a despeckle pass — all computed locally, in a second or two.

4

Save to your gallery

The result goes straight into your photo library as a normal PNG. No watermark, no export queue, no “share to unlock”.

Real hardware constraints

The NES had a 64-entry master table but could only hold about 13 background colours on screen at once. Retro Palette honours that: it picks the best sub-palette for your image, the way a cartridge artist would have. That constraint is what makes the output look period-correct instead of merely posterised.

Dithering that looks like the era

Ordered 4×4 Bayer dithering is the default — the regular crosshatch texture you remember from 8- and 16-bit art. It holds up far better on photographs than plain error diffusion, which turns skin and sky into noise.

Works in aeroplane mode

There is no backend to be down and no API key to expire. The conversion engine is plain local computation, so the app works identically on a plane, in a basement, or on a phone that has never been online.

Seven colour tables, taken seriously.

These are the commonly accepted canonical values for each machine — Pepto's measured VIC-II table for the C64, the NesDev table for the 2C02, the DMG-01's four-shade green ramp. They are pinned by golden-file tests, so the same image and the same settings always produce the same output.

Game Boy (DMG-01) Free

4 shades · the classic green LCD ramp

NES (Ricoh 2C02) Free

64-entry master table · 13 on screen, like the hardware

Commodore 64 (VIC-II) Free

16 colours · Pepto's measured palette

PICO-8 Pro

16 colours · the fantasy-console standard

ZX Spectrum Pro

15 colours · 8 base plus bright variants

IBM CGA Pro

16 colours · the full RGBI set, brown and all

Virtual Boy Pro

4 shades · black and three reds. Unmistakable.

The shortest privacy story we could build.

Retro Palette collects no personal data, because it has nowhere to put it. There is no backend, no account system and no analytics SDK in the app. This is not a policy promise bolted on afterwards — it is what the app is architecturally capable of.

  • Your photos are read, converted and written back on the device.
  • Photo library access is requested only when you pick or save an image.
  • The converted file goes to your gallery and nowhere else.
  • Uninstalling the app removes everything it kept locally.
  • No account, no login, no email address, no user database.
  • No image upload, no cloud processing, no AI service.
  • No analytics SDK, no advertising SDK, no tracking identifiers.
  • No emulator, ROM or game-asset handling of any kind.

The one network call

If you buy the Pro unlock, the purchase is handled by Apple's App Store or Google Play, and the receipt is validated through RevenueCat, which tells the app whether you own it. That exchange carries an anonymous purchase identifier — not your name, not your email, not your photos. Everything else in the app is offline.

Read the full privacy policy →

Free forever. Pro once, if you want it.

The free tier is a real app, not a trial: three palettes, every conversion feature, unwatermarked exports, no time limit. Pro is a single non-consumable purchase — there is no subscription, and nothing expires.

Retro Palette

Free
  • Game Boy, NES and C64 palettes
  • Ordered dithering and pixel scaling
  • Export up to 1024px on the long side
  • Unwatermarked, unlimited conversions
  • Fully offline

Retro Palette Pro

One-time purchase · price shown in your store's currency
  • Everything in the free tier
  • PICO-8, ZX Spectrum, CGA and Virtual Boy palettes
  • Export up to 4096px on the long side
  • Restores on any device signed in to the same store account
  • No subscription, no renewal, no expiry

Purchases are processed by Apple or Google, and the local price is shown inside the app before you confirm. Refunds are handled by the store you bought from — see the terms of use.

Questions worth answering up front.

Do my photos get uploaded anywhere?

No. Palette matching, dithering, scaling and export all run on your device. There is no server to upload to — the app ships without any image-handling network code at all.

Does Retro Palette need an account?

No. There is no sign-in, no profile and no user database. Open it and convert something.

What exactly does Pro unlock?

The four Pro palettes — PICO-8, ZX Spectrum, CGA and Virtual Boy — and a higher export cap, 4096px instead of 1024px on the long side. One purchase, no subscription.

How do I restore my purchase on a new phone?

Sign in to the same App Store or Google Play account and tap Restore purchases on the Pro screen. The entitlement lives with your store account, not with a Retro Palette account — which is why there is nothing to lose access to.

Is this an emulator? Does it touch ROMs?

No, and deliberately so. Retro Palette handles no game data of any kind. A palette here is a list of colour values measured from the original display hardware, applied to photographs you already own.

Why does the same photo look different on NES versus C64?

Because the constraint is different. The NES conversion first chooses the 13 colours it is allowed to show at once, so it commits to a mood; the C64's 16 colours are all available simultaneously. Faithfully reproducing that difference is most of the app.

Which devices does it run on?

iPhone and iPad on iOS 15 or later, and Android phones and tablets on Android 10 or later.

Built by Software First, in Athens.

We build software end to end — web, mobile, backend and the boring production parts in between. Retro Palette is one of our own products, and the same people who wrote it answer the support mail.