# Migrate from Newt to genko.me: posts, images, and URLs to check

Published: 2026-10-06 | Updated: 2026-10-18 | URL: https://blog.genko.me/en/newt-migration

> Newt shuts down on November 24, 2026. This guide shows how to move your posts to genko.me: importing JSON, migrating images automatically or from the ZIP, keeping entry IDs and URLs, and what to check before going live.

Newt has announced that it will shut down on November 24, 2026. After that, its dashboard and API will no longer be available, so any site that pulls posts from Newt needs to move its content and its data source before then. For the official schedule, see [Newt's shutdown notice](https://www.newt.so/notice/newt-close) (Japanese).

genko.me can infer schema fields from a content JSON exported from Newt and import your posts. Image fields and Newt images inside the body are copied into genko.me media during import while Newt is still running, through a setting that is on by default. If you keep the image ZIP, you can move images even after the shutdown. Files other than images (such as PDFs), references, publication status and dates, and your site's data source need to be handled separately.

This guide walks through moving blog posts and updates, and separates what genko.me does for you from what you need to check and adjust yourself. It reflects the product as of October 5, 2026.

## First, list what you are moving

Start by writing down what your current site uses from Newt. Count not only the posts but also references to categories or authors, and images inside the body.

| What | What to do when migrating |
| --- | --- |
| Content such as titles and bodies | Export the JSON and import it in the schema and value formats genko.me expects. |
| Images and attachments | Newt images can be moved automatically during import. Keep the image ZIP, and move non-image files such as PDFs separately. |
| References such as categories and authors | Prepare the target APIs and fields, and map the old IDs to the new ones. |
| Post URLs | Note the current paths and the IDs or slugs that determine them. |
| Publication status and scheduled dates | Keep a list and set them again in genko.me where needed. |
| Forms and other integrations | Plan switching recipients, webhooks and similar separately from the post migration. |

Even after the posts are moved, a contact form or another page on your site may still depend on Newt. Checking every dependency now reduces last-minute surprises before the shutdown.

## 1. Keep a copy of your Newt data and files

[Newt's export guide](https://www.newt.so/docs/how-to-export) (Japanese) recommends fetching content through the API and saving assets with the bulk download. The Newt API returns the latest content including drafts, and the CDN API returns published content. Decide which one you need to keep, then fetch it.

Watch the API's page size and pagination, and compare the number of posts you fetched with the count in the dashboard. Keep the image and attachment files separately from the post JSON. You will use the ZIP from the asset bulk download to import images too, so if it is split into several files, keep all of them. If you use Form App, export the messages as CSV separately.

Store the original data unedited, and make a copy for importing. That way, if a later conversion or test goes wrong, you can start again from the original.

## 2. Create a schema from the content JSON

Create the target API in genko.me, and load Newt's content JSON on the schema import screen. It accepts JSON that has an `items` array, or an array of entries.

genko.me looks at the values of up to the first 20 entries and infers each field's type, such as text, number, boolean, date and time, or rich text. For example, a title string becomes a text field, and a body containing HTML becomes a rich text candidate.

**The result is not a complete copy of your original model.** Array fields, and fields that are empty in all 20 entries checked, are not inferred. For fields that use references, multiple selections, or custom structures, decide how to represent them in genko.me.

Check the field IDs, types, display names, and required settings before saving. Matching Newt's keys to the field IDs makes it easier to map the post data later. For details, see [Import and export](https://docs.genko.me/en/studio/import-export).

## 3. Import a few representative posts as drafts

Next comes the post data. Pick a few posts with different structures, such as text only, with images, and with references, and import them as drafts on the content import screen.

Newt's `items` format is supported, and `_id` can be kept as the entry ID. `_sys` is not treated as a field. Matching field IDs is not enough on its own, though: each value also has to be in a form genko.me accepts.

If you import with image migration turned on, you do not need to convert Newt image objects to media IDs by hand. Reference IDs are not converted automatically, so prepare the referenced entries and shape your import JSON to the [field value formats](https://docs.genko.me/en/api-reference/values). Check the format of other fields too. Unknown fields or missing required fields stop the import at the validation step.

In this trial, check the following:

- The body structure, such as headings, lists, links, and code, comes through as intended.
- Images moved to media, and references point to the right entries.
- The entry IDs and fields your site uses, such as slugs, are preserved.
- You can edit and save the entries in the dashboard, and your site can display them.

## 4. Move images and references

"Move Newt images to genko.me" is on by default. While Newt is running, the import fetches image fields and Newt images inside the body, copies them into media, and replaces the references. If you also provide the saved image ZIP, images in the ZIP are used first. For images not in the ZIP, the import tries to fetch them from Newt's URLs when the setting is on. With the ZIP, you can move images even after the November 24, 2026 shutdown.

Images up to 50 MB each in jpg, jpeg, png, webp, gif, or avif can be moved. For images that could not be moved, you can see the entry, field, URL, and reason. The image field is left empty, and entries whose required image could not be moved are not saved. Images in the body keep their original URLs, so fix them by hand.

Files other than images, such as PDFs, are not moved automatically. Upload them separately and check links in the body. References to other content, such as categories and authors, are not converted automatically either. Prepare the referenced entries and map the old IDs to the new ones.

## 5. Import the rest of the posts

Once the conversion works on a few posts, shape the rest the same way. Each import accepts up to 10 MB per file and up to 1,000 entries at a time. If you exceed the limits, split the data, and record the count and result for each file.

Import is not for updating existing entries. If the same API already has an entry with the same ID, the import stops at that entry. Entries saved before that point remain, so do not resubmit the whole failed file as is; check which IDs were already imported.

The original publication status, creation date, and scheduled publish and unpublish dates are not restored. The status you choose on the import screen is applied. If you choose "Published", entries become available through the API as soon as they are saved, so it is safer to import everything as drafts first and publish after checking.

## 6. Switch your site's data source and check URLs

Change your site's data fetching from Newt to genko.me. For Next.js, you can refer to the [example of a post list, detail pages, and draft previews](https://blog.genko.me/en/headless-cms-nextjs). You will still need to adjust it to your field names and routing.

Keeping entry IDs does not keep your URLs automatically. For example, if your old URLs are `/blog/{slug}`, you also need to keep the slug values and the routing that uses them. Check representative old URLs down to the domain, path, and trailing slash. If you change URLs, set up redirects from the old URLs to the new ones separately.

Finally, check these before switching production:

- The total number of posts matches, and no drafts that should stay unpublished have been published.
- Pages you use every day, such as lists, details, and categories, display correctly.
- Images in the body, thumbnails, attachments, and internal links open.
- Page titles, descriptions, OG images, and canonical URLs are what you intend.
- Changes after saving and publishing show up according to your site's caching policy.
- No unneeded dependencies on Newt's API or asset URLs remain.

If content keeps being updated during the trial, decide what the final import covers and when to freeze edits. Apply the last changes before the switch, and keep the original data and the old site setup until everything is checked.

To get started, pick a few real posts, move them as drafts, and take them as far as displaying on your site. Once you see what conversion is needed, it becomes easier to plan for the rest of your posts.
