---
url: /en/docs/migration/static-cms.md
description: >-
  Migrate from Static CMS to Sveltia CMS with compatibility guidance and
  configuration steps.
---

# Migrating from Static CMS

Sveltia CMS is partially compatible with [Static CMS](https://github.com/StaticJsCMS/static-cms), an archived fork of Netlify CMS. As Static CMS was archived some time ago, we don’t intend to implement any further compatibility beyond what is listed below. However, we may still adopt some of their features that we find useful.

## Compatibility

Static CMS made [some breaking changes](https://staticjscms.netlify.app/docs/decap-migration-guide) while Sveltia CMS mostly follows Netlify/Decap CMS, so the configuration should be reviewed carefully.

### Configuration Options

* Sveltia CMS supports the [`sortable_fields`](/en/docs/collections/entries/views#sorting), [`view_filters`](/en/docs/collections/entries/views#filtering) and [`view_groups`](/en/docs/collections/entries/views#grouping) options with the new `default` option. We still support the legacy Netlify/Decap CMS format as well, so you can use either format for these options.
* Directory navigation is supported in the Asset Library and the Select File/Image dialog. If you define [collection-specific `media_folder`s](/en/docs/media/internal#collection-level-configuration), these folders are displayed as separate locations. The [subfolders](/en/docs/ui/asset-library#subfolders) within a configured folder are listed and can be browsed in both places, created from either, and renamed or deleted in the Asset Library. Folders are enabled by default, so the `folder_support` option for `media_library` is not supported, nor is the `display_in_navigation` option.
* The `logo_link` global option will not be supported. Use `display_url` or `site_url` instead.
* The `yaml` global option will not be supported, as Sveltia CMS does not expose underlying `yaml` library options for forward compatibility reasons. However, we do have some [data output options](/en/docs/data-output#controlling-data-output), including YAML indentation and quotes.

### I18n Support

* The `enforce_required_non_default` i18n option will not be supported. Sveltia CMS enforces required fields in all locales by default. However, the `initial_locales` i18n option allows users to [disable non-default locales](/en/docs/i18n/options#disabling-non-default-locale-content) if needed. Developers can also specify a subset of locales with the `required` field option, e.g. `required: [en]`.

### Widgets

* The date/time format options for the DateTime widget are **not compatible** since Static CMS [switched to date-fns](https://staticjscms.netlify.app/docs/decap-migration-guide#dates) while Decap CMS and Sveltia CMS have replaced Moment.js with Day.js. Update your formats accordingly.
* The [KeyValue widget](/en/docs/fields/keyvalue) is implemented in Sveltia CMS with the same options.
* The [UUID widget](/en/docs/fields/uuid) is also implemented, but with different options.
* The `prefix` and `suffix` options for the Boolean, Number and String widgets are implemented as `before_input` and `after_input` in Sveltia CMS, respectively. Our `prefix` and `suffix` options for the String widget are literally a prefix and suffix to the value.
* The `multiple` option for the File and Image widgets is supported in Sveltia CMS, along with the `min` and `max` options.
* The [`select_folder`](/en/docs/fields/file#select-folder) option for the File widget is supported in Sveltia CMS. The public path of the selected folder is saved as the value, and several folders can be selected with the `multiple` option.
* The [breaking change to the List widget](https://staticjscms.netlify.app/docs/decap-migration-guide#list-widget) doesn’t apply to Sveltia CMS. You must use the `field` (singular) option to produce a single subfield with [no `name` output](/en/docs/data-output#understanding-exceptions).

### Customization

* `CMS.registerIcon()` will not be supported, as Sveltia CMS includes the Material Symbols font for [custom collection icons](/en/docs/collections#icons) that doesn’t require manual registration.
