← Nativ Blog
GuidesImage localisation & MCP

How to translate a JPG or PNG without the original design file

The page is translated. The headline in its hero image is still English. Here is how to handle the asset when the only file you have is a JPG or PNG.

French text above three cosmetic sticks in a frame from Nativ's published creative-localisation demo.
A frame from Nativ’s existing public creative-localisation demo. It illustrates on-image copy, rather than a new test of the MCP workflow below. View source ↗

Yes, you can translate text in a JPG or PNG without the source design. First extract and check the words, then translate them, replace them in the image, and review the finished export. You will get another image, not the original editable text layers. If a layered source is available, use that instead.

The distinction comes up in a Reddit discussion about text embedded in JPEGs: should a team request source files, recreate the visual, or deliver a separate translation? In a related thread, a participant narrows the job further: change the copy while retaining the product photograph and its styling. Those are different deliverables from simply reading foreign-language text.

This guide is written by Nativ. The tool names and examples were checked against its published MCP 0.5.0 package on 27 October 2026. No new paid image-generation run or comparative quality test was performed for this article.

Choose the deliverable before choosing the tool

Three different jobs hidden inside “translate this image”.
What you needA suitable starting pointWhat to hand over
Understand what the image saysOCR and text translationExtracted text and its translation
Publish a translated visual, with only a flat file availableImage localisation, followed by visual reviewA new JPG, PNG or WebP
Keep revising the design across marketsThe original design and its editable textA maintained master and language variants

On a narrow screen, scroll the table horizontally.

Saving a JPG as a PSD does not recover the text layers that were lost when it was flattened. Adobe recommends PSD to retain layers, effects and masks in the working file. When the original is available, follow the Photoshop localisation workflow or Figma guide and keep the review in the editor.

If you only have an export, keep an untouched copy. Name the working version with its language and revision, such as spring-banner.fr-FR.v1.png, so a later correction can be traced to the right asset.

Make a small inventory of what may change

Before uploading anything, identify the text and its purpose. A logo, an offer, a button and words printed on a photographed package need separate decisions.

Here is a fictional banner brief. It is an editorial example, not an output from the demo above.

A fictional banner: decide what changes before translating it.
Source itemInstructionReview question
Northstar, the fictional brand nameKeep unchangedIs the spelling and mark intact?
New seasonTranslate as a short campaign headlineDoes the message still work at this size?
Buy nowTranslate as a shopping CTADoes it match the destination page?
Product label in the photographKeep unchanged for this taskHas any packaging text been altered?

On a narrow screen, scroll the brief horizontally.

Give the translator the target locale, placement and intended tone. Record prices, measurements and offer dates explicitly rather than expecting an image tool to decide the commercial details.

You can download a review worksheet for this example. Its target-text and approval fields are deliberately blank: the worksheet records decisions; it does not supply approved translations.

An existing public Nativ demo showing creative assets in several languages. The recording’s source-file formats and settings are not documented, so it is visual context rather than a test of the MCP procedure below.

Extract, translate and render with Nativ MCP

You need a Nativ account, API key and compatible MCP client. Use the connection guide first. Normal account usage and credit requirements apply when you run the tools.

  1. Extract the source wording. Ask the assistant to call extract_image_text on your PNG, JPEG or WebP. Compare its output with the visible image. Correct missing lines, punctuation and misread characters before translating.
  2. Translate the copy that should change. Use translate for a phrase with its placement context, or translate_batch for related phrases. Nativ’s translation tools use the workspace’s translation memory and style guides. Review the proposed wording before rendering.
  3. Build the replacement pairs. Keep each source phrase beside its reviewed target. Exclude text you intend to preserve. Check repeated phrases carefully: the public replacement format identifies text, rather than a particular box on the canvas.
  4. Render a candidate image. Call localize_image with the original image, replacement pairs and target language code. Keep the original and candidate together for the final check.

For example, these are arguments to localize_image in a local stdio setup. The French wording is illustrative and should be reviewed for the actual placement.

{
  "image_path": "/work/spring-banner.en.png",
  "replacements": "[{\"original\":\"Buy now\",\"translated\":\"Achetez maintenant\"}]",
  "target_language_code": "fr-FR",
  "output_format": "png"
}

replacements is a JSON-encoded string containing the pairs. This call renders supplied wording; use the translation tools first to produce that wording. It returns the saved image path locally. Hosted MCP accepts an HTTPS image URL and returns a download URL, so a path on your laptop is not a hosted input.

The public MCP arguments do not provide a brush mask or coordinates for each replacement. If you need exact spatial control, check the chosen interface’s controls or finish the asset in a design editor. Do not assume that naming a source phrase guarantees every other pixel will remain identical.

Review the image in two passes

Check the language first. Have a reviewer who understands the target locale inspect the headline, CTA, small print and any text OCR missed. Backtranslation can help explain a candidate; it cannot establish that the target wording sounds natural or says the right thing in context.

Then check the visual. Open the original and candidate side by side, at full size and at the size the audience will see. Use this acceptance list:

  • Every intended phrase is present, with no source-language fragments left behind.
  • Longer wording fits without clipped accents, awkward breaks or unreadably small text.
  • Logos, packaging, product details and other protected content match the original.
  • The area behind replaced text has no visible seams, smears or stray characters.
  • Dimensions, transparency and export format suit the destination.
  • The CTA and offer agree with the landing page that will accompany the image.

A successful tool response means a file was returned. These checks determine whether it is ready to publish. If the background or typography needs repair, retain the reviewed copy and do a controlled design pass instead of repeatedly generating the whole asset without a clear correction plan.

Publish the right asset, and keep the next revision easier

Generating a French image does not automatically make a French storefront display it. Upload the approved file to the appropriate CMS, campaign or locale variant, then check that the published page actually loads it. Retain the source filename, target locale, approved wording and final asset together.

For website headlines and buttons, consider keeping the words as live HTML over the image in the next design. W3C recommends real text where possible because it is more adaptable and accessible. Where an image of text is necessary, its text alternative should convey the same wording.

For the asset you have today, start with one image and one locale. Connect Nativ MCP, check the extracted text, review the replacement copy, and approve the finished visual before expanding the batch.

Product references