Plugins / SchemConvert
SchemConvert
Turn .litematic into WorldEdit .schem (v3 or v2) and back, on your server, in one command.
Get SchemConvert
$4.99 on BuiltByBit, list price on 16 October 2026. BuiltByBit sales can lower it, the listing shows the current price.
Also in Complete Collection: Every Plugin.
Try it live
SchemConvert runs on a public demo server, set up so you can use it yourself. Join, try it, then decide.
Address: try.zeropvp.xyz:25570 (Java Edition 1.21.11)
In Minecraft: Multiplayer, Add Server, paste the address, Join. Type /demo go schemconvert to land at its booth, or right-click the compass and pick it. The world resets every night.
Overview
SchemConvert
Load your builders' Litematica files straight into WorldEdit, no converter website needed
Every builder uses Litematica. WorldEdit does not read .litematic and never has. So you upload the file to some website, download a .schem, upload that to the server, and hope the versions match. SchemConvert removes all of that: drop the .litematic into your schematics folder, run /schemconvert name, and //schem load name works ten seconds later.
It also goes the other way. Turn any WorldEdit schematic into a .litematic your builders can open in the mod, and convert between Sponge v3 (modern WorldEdit) and v2 (older tools and plugins that still need it).
One button per file, or convert every file at once.
- Latest version
- 1.2.0
- Server
- Paper or Purpur, Java 21
- BuiltByBit
- SchemConvert on BuiltByBit
What changed in 1.2.0
- New: auto-convert. SchemConvert can watch the schematic folders and turn every new .litematic into a .schem by itself, so a file a builder drops in is ready for //schem load without a command. Turn it on with auto-convert.enabled: true. It waits until a file has finished uploading, never overwrites an existing .schem unless overwrite is true, and does not retry a broken file until it changes.
- New: /schemconvert download <link> [name] fetches a .litematic or .schem from an https link (a Discord attachment, a file host) into plugins/SchemConvert/files, so nobody needs FTP. A downloaded .litematic is converted to a v3 .schem straight away. Links to the server itself or the local network are refused, and files over 50 MB are refused (download.max-size-mb).
- New permission: schemconvert.download (default: op).
- The file screen shows whether auto-convert is on.
- /schemconvert reload also restarts the folder watcher.
- Tab completion offers download, and no longer suggests formats after list, menu or reload.
- Your existing config.yml keeps working as it is. The new auto-convert and download settings use their defaults until you add them; regenerate config.yml (or copy the new sections from the default one) to see them with their comments. The help line in an old config.yml does not mention download until it is regenerated.
Features
Why server owners pick it
- One command instead of a converter website
- Works both ways: WorldEdit schematics to .litematic too
- Sponge v3 and v2 output for older tools
- Converts in the background, the server keeps ticking
- No dependencies
What makes it different
- Converts on your own server instead of a converter website, so the build never leaves your machine
- Its own NBT reader and writer: no WorldEdit or FAWE needed to convert, and no NMS
- Block states and block data are kept exactly; a 58 million block map was converted there and back with zero mismatches
Works with
- Paper or Purpur 1.21.11 (or newer 1.21.x), Java 21+
- WorldEdit or FAWE to actually paste the result (SchemConvert itself needs neither)
- No DRM, no licence key and no licence server; the code is not obfuscated
What you get
- New in v1.3.0: Auto-convert: watches the schematic folders and turns every new .litematic into a .schem by itself, once the upload has finished
- New in v1.3.0: Download from a link: /schemconvert download <link> fetches a .litematic or .schem from an https link, like a Discord attachment, so nobody needs FTP
- Litematica (.litematic) to Sponge v3 or v2 .schem
- .schem to .litematic, so builders get your map back in the mod
- v2 to v3 and v3 to v2 for plugins that only read one of them
- Multi-region litematics merged into one schematic, including regions with negative sizes (mirrored selections), which trip up most converters
- Block entities carried over: signs keep their text, chests keep their contents, banners keep their patterns, heads keep their skins
- Entities carried over (armour stands, item frames, paintings)
- Exact: every block state string is kept, and the block data is bit-for-bit what the mod wrote. Tested round-trip on a 58 million block map with zero mismatches.
- Runs off the main thread; a 50 MB file does not freeze the server
- Own NBT reader and writer: no WorldEdit or FAWE dependency, no NMS, so it keeps working across Minecraft updates
- Searches the WorldEdit and FAWE schematic folders and its own, never leaves them (no path tricks)
- /schemconvert info shows size, palette, block count and data version before you convert
- Batch mode converts every file in the folders at once
Each conversion reports its size, palette and block entities in chat.
The file screen
The file screen lists every schematic in the WorldEdit, FAWE and SchemConvert folders.
- /schemconvert on its own opens a real Minecraft dialog window with the files the server can see, eight to a page, with their size
- A drop-down picks the target: the other format, Sponge v3, Sponge v2 or Litematica
- One button per file converts it, and one button converts the whole folder
- No typing file names, and no way to typo one
menu: falseputs the plain help line back
FAQ
Which servers does it run on?
Paper or Purpur 1.21.11 or a newer 1.21.x, with Java 21.
Do I need other plugins?
No. It runs on its own.
Is there DRM or a licence key?
No. There is nothing to activate and no licence server to reach, and the code is not obfuscated.
How long does setup take?
Drop the jar into /plugins and restart. The setup guide above has 3 short steps.
Can I try it before I buy?
Yes. This page has a test server with the plugin installed.
Where do I get help?
In the active support Discord, in the discussion tab on this page, or in the documentation.
Do my builders need FTP access?
No. /schemconvert download takes an https link (a Discord attachment works), and auto-convert can turn every new .litematic into a .schem without a command.
Updates
Released on September 15, 2026 and updated 5 times since. The latest version is v1.3.0 (October 16, 2026). Every update is free, new Minecraft versions included.
Also by Frostyh
- Holograms: floating text and boards
- HotbarDialogs: hotbar items that open native dialog menus
- Graves: death chests with a floating label
- Complete Collection: all my published plugins in one purchase, 40% off
If this plugin helps your server, a short review on this page would mean a lot. Thank you!
Installation
Requirements
- Server software
- Paper, or a Paper fork such as Purpur. Spigot and CraftBukkit are not supported: the plugin uses Paper-only APIs.
- Minecraft version
- plugin.yml api-version 1.21; built against Paper API 1.21.11
- Java
- 21 or newer
- Required plugins
- none
- Optional plugins
- none
Steps
- Download
SchemConvert.jarfrom BuiltByBit. There is no licence key to enter. - Stop the server and put the jar into the
pluginsfolder. - Start the server. The plugin creates
plugins/SchemConvert/config.ymlwith the defaults shown under Configuration. - Edit
config.ymlto suit your server. - Apply the changes with
/schemconvert reload(Reload the config), or restart the server.
Setup guide
- Drop SchemConvert.jar into /plugins and restart.
- Put a .litematic into plugins/WorldEdit/schematics (or the FAWE folder, or plugins/SchemConvert/files).
- /schemconvert <name>, then //schem load <name> and //paste.
SMP and build servers: builders hand you .litematic files, you paste them without leaving the game. Spawn rebuilds, event arenas, community builds.
Duel / minigame servers: arenas from map makers come as litematics; convert, paste, done. Convert your existing arenas to .litematic so a builder can edit them in the mod and send them back.
Networks: converting to v2 lets older map plugins and tools read schematics that modern WorldEdit wrote.
Commands
From plugin.yml. "Not set" in the permission column means plugin.yml attaches no permission to the command itself; the nodes the plugin checks are listed under Permissions.
| Command | Aliases | Usage | Description | Permission |
|---|---|---|---|---|
/schemconvert | /sconv, /lite2schem | /schemconvert <file.litematic|file.schem> [v3|v2|litematic] [newname] | list | info <file> | all [format] | download <link> [name] | reload | Convert .litematic and .schem files. | schemconvert.use |
Subcommands in detail
/schemconvert <file> Convert. Litematic becomes v3 .schem, .schem becomes .litematic.
/schemconvert <file> v3|v2|litematic Choose the target format.
/schemconvert <file> <format> <newname> Choose the output name.
/schemconvert list Files that can be converted.
/schemconvert info <file> Format, size, palette and block counts.
/schemconvert all [format] Convert every file in the folders.
/schemconvert reload Reload the config.
/schemconvert download <link> [name] Fetch a file from an https link (max 50 MB).
Works from console too. File names tab-complete; the extension is optional.
Permissions
From plugin.yml.
| Node | Default | Description | Children |
|---|---|---|---|
schemconvert.use | operators | Convert schematics, and hear about files the folder watcher converted. | none |
schemconvert.download | operators | Fetch a .litematic or .schem from an https link with /schemconvert download. | none |
Placeholders
This plugin registers no PlaceholderAPI placeholders.
Configuration reference
The default files as they ship in the jar, with their comments. The plugin writes them to plugins/SchemConvert/ on first start.
config.yml
Top-level keys:
| Key | Default | Comment above it |
|---|---|---|
menu | true | Bare /schemconvert opens the file screen instead of printing the help. |
folders | list of 3 | Folders that are searched for .litematic and .schem files, relative to the server root. |
output-folder | "" (empty) | Where converted .schem and .litematic files go. Empty = next to the source file. |
overwrite | false | Replace an existing file with the same name? |
same-name-suffix | "-converted" | Added to the name when the output would have the same name as the input, e.g. a v3 .schem converted to v2 is written as name-converted.schem. |
auto-convert | section, 4 keys | Watch the folders above and turn every new .litematic into a .schem on its own, so a file a builder dropped in is ready for //schem load without anybody typing a command. A file is taken once it has stopped growing. An existing .schem is only replaced when... |
download | section, 4 keys | /schemconvert download <link> [name]: fetch a .litematic or .schem from a link (a Discord attachment, a file host) into the folder below, so nobody needs FTP. https only, never the server itself or a local network address, and never bigger than... |
theme | section, 11 keys | Every message below is written against these names, not against hex codes: <accent>Open</accent> rather than <#6fa8dc>Open</#6fa8dc>. Change a colour here and it changes on every screen at once. Ordinary MiniMessage still works, so <gradient:#a:#b> and... |
messages | section, 46 keys | none |
review-reminder | true | One thank-you line with the BuiltByBit review link: once in the console after install and once in chat for the first operator who joins. It never repeats and sends nothing anywhere. false turns it off. |
# SchemConvert - Litematica <-> WorldEdit schematics, on the server.
#
# Drop a .litematic into one of the folders below, then /schemconvert <name>. The .schem lands next
# to it and //schem load <name> works right away. The other direction works too: /schemconvert
# <name>.schem litematic turns a WorldEdit .schem into a .litematic builders can open in Litematica.
#
# Files read: .litematic (Litematica) and .schem (WorldEdit / FAWE, Sponge v2 or v3).
# Files written: .schem for the v3 and v2 formats, .litematic for the litematic format.
# MCEdit .schematic files (pre-1.13) are not read. The extension in a command is optional, but
# type it when the same name exists as both .litematic and .schem.
# Bare /schemconvert opens the file screen instead of printing the help.
menu: true
# Folders that are searched for .litematic and .schem files, relative to the server root.
folders:
- plugins/WorldEdit/schematics
- plugins/FastAsyncWorldEdit/schematics
- plugins/SchemConvert/files
# Where converted .schem and .litematic files go. Empty = next to the source file.
output-folder: ""
# Replace an existing file with the same name?
overwrite: false
# Added to the name when the output would have the same name as the input, e.g. a v3 .schem
# converted to v2 is written as name-converted.schem.
same-name-suffix: "-converted"
# Watch the folders above and turn every new .litematic into a .schem on its own, so a file a
# builder dropped in is ready for //schem load without anybody typing a command. A file is taken
# once it has stopped growing. An existing .schem is only replaced when overwrite is true and the
# .litematic is newer. .schem files are never converted back automatically.
auto-convert:
enabled: false
interval-seconds: 10 # how often the folders are looked at
format: v3 # v3 or v2
notify: true # tell online players with schemconvert.use; the console always hears it
# /schemconvert download <link> [name]: fetch a .litematic or .schem from a link (a Discord
# attachment, a file host) into the folder below, so nobody needs FTP. https only, never the server
# itself or a local network address, and never bigger than max-size-mb.
# Needs the schemconvert.download permission (ops have it).
download:
enabled: true
folder: plugins/SchemConvert/files # keep it in the folders list so the file shows up there
max-size-mb: 50
convert-after: true # a downloaded .litematic is converted to a v3 .schem straight away
# ------------------------------------------------------------------------------------------------
# THEME
# ------------------------------------------------------------------------------------------------
# Every message below is written against these names, not against hex codes: <accent>Open</accent>
# rather than <#6fa8dc>Open</#6fa8dc>. Change a colour here and it changes on every screen at
# once. Ordinary MiniMessage still works, so <gradient:#a:#b> and <#ff0000> are fine anywhere.
theme:
accent: "#6fa8dc" # your colour: headings and anything the player is meant to click
accent2: "#b0cfec" # a lighter accent, for a second level of emphasis
title: "#f4f7ff" # screen titles
text: "#c2ccdd" # ordinary prose
muted: "#6b7a94" # hints, separators, anything the eye should skip
value: "#ffffff" # the numbers and names the player opened the screen to read
good: "#57e08a"
warn: "#ffc857"
bad: "#ff6b6b"
small-caps: false # ᴇхᴀᴍᴘʟᴇ - a garnish; whole menus in it read badly
# Real Minecraft item pictures beside the buttons and in the chest screens. Drawn from the
# client's own textures, so there is nothing to install and no resource pack: it needs a
# 1.21.9 or newer client, and older ones simply see the buttons as words.
item-icons: true
messages:
prefix: "<#5b8fb9><bold>Schem</bold></#5b8fb9> <muted>»</muted> "
help: "<text>/schemconvert <file.litematic|file.schem> [v3|v2|litematic] [newname] · /schemconvert list · /schemconvert info <file> · /schemconvert all [format] · /schemconvert download <link> [name] · /schemconvert reload</text>"
usage-info: "<text>/schemconvert info <file></text>"
list: "<text>Files: </text><value>{files}</value>"
list-empty: "<text>No .litematic or .schem files in </text><value>{folders}</value><text>.</text>"
not-found: "<bad>No file called </bad><value>{file}</value><bad> in the schematic folders.</bad>"
legacy-schematic: "<value>{file}</value><bad> is an old MCEdit .schematic (before 1.13) and cannot be converted without losing blocks. Load it with an old WorldEdit and save it as .schem first.</bad>"
unknown-format: "<bad>Unknown format </bad><value>{format}</value><bad>. Use v3, v2 or litematic.</bad>"
exists: "<bad>{file} already exists. Give a new name, or set overwrite: true.</bad>"
start: "<text>Converting </text><value>{file}</value><text> to {format}...</text>"
done: "<value>{file}</value><text> written in {ms} ms ({summary}).</text>"
failed: "<bad>{file} failed: </bad><value>{error}</value>"
info: "<value>{file}</value><text>: {info}</text>"
all-start: "<text>Converting {count} file(s)...</text>"
reloaded: "<value>Config reloaded.</value>"
no-permission: "<bad>You cannot do that.</bad>"
# The folder watcher (auto-convert in the settings above).
auto-done: "<text>Auto-converted </text><value>{file}</value><text> to </text><value>{out}</value><text> in {ms} ms ({summary}).</text>"
auto-failed: "<bad>Auto-convert of {file} failed: </bad><value>{error}</value>"
# /schemconvert download.
usage-download: "<text>/schemconvert download <https link> [name]</text>"
download-off: "<bad>Downloads are switched off in config.yml (download.enabled).</bad>"
download-no-name: "<bad>The link does not end in .litematic or .schem. Add a name with the extension: </bad><value>/schemconvert download <link> castle.litematic</value>"
download-start: "<text>Downloading </text><value>{file}</value><text>...</text>"
download-done: "<value>{file}</value><text> saved ({size} KB).</text>"
download-failed: "<bad>Download failed: </bad><value>{error}</value>"
# The file screen. Every line here is a screen title, a button label or a tooltip.
menu-title: "<value>Schematics</value>"
menu-close: "<white><icon:close></white><text>Close</text>"
menu-folders: "<text>Looking in: </text><value>{folders}</value>"
menu-auto-on: "<text>Auto-convert: </text><good>on</good><text>, new .litematic files become .schem by themselves</text>"
menu-auto-off: "<text>Auto-convert: </text><muted>off (auto-convert.enabled in config.yml)</muted>"
menu-count: "<text>{count} file(s) · page {page} of {pages}</text>"
menu-file-line: "<value>{file}</value><text> · {size} KB</text>"
menu-field-format: "<text>Convert to</text>"
menu-format-auto: "<value>The other format</value>"
menu-format-v3: "<value>WorldEdit .schem (Sponge v3)</value>"
menu-format-v2: "<value>WorldEdit .schem (Sponge v2)</value>"
menu-format-litematic: "<value>Litematica .litematic</value>"
menu-convert: "<white><icon:file></white><good>Convert {file}</good>"
menu-convert-tip: "<text>Write {file} in the format chosen above.</text>"
menu-convert-all: "<white><icon:file></white><value>Convert every file</value>"
menu-convert-all-tip: "<text>Every file in the folders, in the format above.</text>"
menu-prev: "<white><icon:back></white><text>« Page back</text>"
menu-prev-tip: "<text>The page before.</text>"
menu-next: "<white><icon:next></white><text>Page on »</text>"
menu-next-tip: "<text>The next page.</text>"
menu-refresh: "<white><icon:reload></white><text>Look again</text>"
menu-refresh-tip: "<text>Read the config and scan the folders again.</text>"
# One thank-you line with the BuiltByBit review link: once in the console after install and once
# in chat for the first operator who joins. It never repeats and sends nothing anywhere. false turns it off.
review-reminder: trueConfig guide
The annotated summary from the store page. Where it and the default file above differ, the file is what the plugin ships.
folders: where files are looked for, relative to the server root
- plugins/WorldEdit/schematics
- plugins/FastAsyncWorldEdit/schematics
- plugins/SchemConvert/files
output-folder: "" empty = next to the source file
overwrite: false replace an existing output file
same-name-suffix: "-converted" used when input and output would share a name
FAQ
Which servers and versions does it run on?
It needs Paper or a Paper fork such as Purpur, because it uses Paper-only APIs (the dialog API for its menus, Adventure text components). Spigot and CraftBukkit are not supported. plugin.yml declares api-version 1.21, the jar is built against Paper API 1.21.11, and it needs Java 21 or newer.
Does it need other plugins?
No other plugin is required (plugin.yml has no hard dependencies).
How do I apply config changes?
Edit plugins/SchemConvert/config.yml and run /schemconvert reload (reload the config). A restart works too.
Does it run on Folia, or for Bedrock players?
Not tested on Folia, and plugin.yml does not declare folia-supported. Bedrock players (through Geyser) have not been tested either.
What are its limits?
MCEdit .schematic files (pre-1.13, numeric block ids) are not supported, because they cannot be converted without guessing. Litematica files from a newer Minecraft than your server will convert, but WorldEdit will then upgrade the block states when loading, as it does for any newer schematic.
What licence do I get?
The licence terms are the BuiltByBit EULA shown on the listing. There is no licence key to enter, and the plugin never contacts a licence server.
Links
- BuiltByBit: SchemConvert
- Support Discord: discord.gg/KG4ubAZEuw
- All plugins on BuiltByBit: the collection
- More plugins: all plugins
- Custom work: commissions
Support
Questions, bugs or ideas: the active support Discord or the discussion tab on this page. When something breaks, include your server version and the error from the console.
Full setup guide, commands, permissions and config reference: documentation.