Edit Terraria player files with fast item search, a complete item catalog, native game icons and metadata, automatic backups, and verified saves.
Download a build · View compatibility · Report a bug · Contribute
Native Terraria artwork and item data are read from the user's own local game installation.
Important
Close Terraria before opening or saving a character. Steam Cloud or the running game can overwrite local changes.
PlrForge is an open-source editor for encrypted desktop Terraria .plr files. Everything runs locally: characters and extracted game data are never uploaded to a server. PlrForge edits player characters only—it does not modify worlds, console/mobile saves, server-side characters, or tModLoader .tplr files.
PlrForge is an independent community project and is not affiliated with or endorsed by Re-Logic.
| Area | What you can edit |
|---|---|
| Character | Name, difficulty, appearance, health, mana, play time, permanent upgrades, tax savings, death counters, team, and voice where supported by the file format |
| Inventory | All 58 carried slots, stack counts, favorite state, and a compatibility-aware modifier browser with live stat previews |
| Equipment | Three loadouts, armor, accessories, vanity slots, dyes, pets, light pets, minecarts, mounts, and hooks |
| Storage | Piggy Bank, Safe, Defender's Forge, and Void Vault |
| Item Catalog | Browse 6,170 items by category and rarity; search by name or numeric ID; sort and insert directly into a compatible slot |
| Effects | All 44 saved buff slots |
| Journey Mode | Research progress, Godmode, extended placement range, enemy spawn rate, and Super Cart flags |
| Spawn Points | View, add, edit, and remove named spawn records |
Additional quality-of-life features include:
- Native Terraria item and buff icons extracted from the user's own installation
- Detailed, prefix-aware item tooltips generated from the installed game
- Searchable modifier selection with item-type, quality, and stat-effect filters—including Terraria 1.4.5 summon modifiers
- Shared undo and redo history across the editor
- Automatic timestamped backups before every successful save
- Backup browsing and guarded restore inside the app
- Manual and opt-in launch-time update checks through GitHub Releases
- Keyboard-efficient slot grids, semantic controls, visible focus, reduced-motion support, and skip navigation
- Graceful text fallbacks when Terraria assets are unavailable
Every save passes through the native Rust layer and follows the same guarded transaction:
- Confirm that the source file has not changed since it was opened.
- Validate the character, items, buffs, spawn points, Journey data, stack rules, slot counts, and file version.
- Create a timestamped copy in a sibling
.plrforge-backupsdirectory. - Write to a staged file, decrypt it again, and verify the plaintext payload.
- Atomically replace the original file and report the backup location.
If something goes wrong, follow the character recovery guide.
PlrForge currently enables editing only for player-file layouts with dedicated regression coverage. Unknown and newer formats fail closed instead of risking a damaged character.
| Platform / format | Support |
|---|---|
| macOS, Apple silicon and Intel | Universal application bundle and DMG |
| Windows 10/11, x64 | MSI and NSIS installers |
| Terraria player format v279 | Verified |
| Terraria player formats v317, v325, and v326 | Verified |
Other .plr versions |
Detected, but editing remains disabled until verified |
See the full compatibility matrix for format-specific details and exclusions.
- Visit GitHub Releases and download the build for your platform. If no packaged build is available for the current revision, use the development instructions.
- Fully close Terraria.
- Start PlrForge and select a detected character, or choose Choose .plr file to browse manually.
- Select a
.plrfile, make your changes, and choose Save changes. - Reopen the character in PlrForge, then verify it in Terraria before removing any recovery copies.
Default player folders:
- macOS:
~/Library/Application Support/Terraria/Players - Windows:
%USERPROFILE%\Documents\My Games\Terraria\Players
Official macOS release artifacts are Developer ID signed, Apple-notarized, and stapled for Gatekeeper verification. Windows installers are not yet code-signed and will show an unidentified-publisher warning. Review the release notes and checksum manifest before installing a preview.
PlrForge does not bundle, download, or hotlink Terraria artwork or extracted game definitions. The desktop app discovers a local Steam or GOG installation and builds a private application cache from that copy of the game.
Item_*.xnbandBuff_*.xnbtextures are decoded into local PNG files without resampling, recoloring, or changing Terraria's transparent sprite canvas.- A small open-source metadata helper reads the installed game's item defaults and English localization to provide damage, speed, knockback, tool power, healing, value, descriptive text, and exact prefix-adjusted values.
- Modifier compatibility and previews come from Terraria's own
CanRollPrefixand prefix-stat calculations, so PlrForge filters for the selected item instead of guessing from a fixed list. - Terraria is never launched or modified, and no game data is sent over the network.
- If extraction is unavailable or a game update changes the assembly layout, editing continues with the bundled searchable catalog and text fallbacks.
For a non-standard installation, use the game-data control in the app header and select the Terraria installation, Content, or Images folder.
PlrForge keeps the user interface and save-file engine behind a strict boundary:
React + TypeScript editor
│ validated commands
▼
Rust / Tauri native layer
│
├── versioned .plr codecs
├── validation and encryption
├── verified backup/save transaction
└── local icon and metadata adapters
Tauri provides a lightweight native application using the operating system's webview, while Rust owns all file access, decryption, validation, backup, and write operations. The same codebase produces universal macOS bundles and Windows installers.
- Node.js 22
- Rust stable
- .NET 8 SDK for the metadata helper
- The platform dependencies in the Tauri prerequisites guide
git clone https://github.com/Gabriel0110/plrforge.git
cd plrforge
npm ci
npm run metadata:build
npm run desktop:devThe browser-only preview uses a disposable demo character and cannot access native .plr files:
npm run devnpm test
npm run build
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo clippy --locked --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
cargo test --locked --manifest-path src-tauri/Cargo.toml
npm run desktop:buildAn optional real-format regression test can run against a disposable copy of a supported player file. The test copies the fixture into a temporary directory before writing; never use a live Steam Cloud character or commit a personal .plr file.
PLRFORGE_FIXTURE=/absolute/path/to/disposable.plr \
cargo test --manifest-path src-tauri/Cargo.toml external_fixture -- --nocapture- Accessibility — keyboard behavior, native semantic verification, and screen-reader release checks
- Architecture — application boundaries, codecs, save transactions, local asset handling, and testing strategy
- Compatibility — supported player-file versions and fail-closed behavior
- Recovery — in-app and manual character restoration
- Release guide — packaging, validation, checksums, and preview publication
- Contributing — local setup, testing expectations, and pull-request guidance
Issues and pull requests are welcome. Please read CONTRIBUTING.md before making a change. Save-format changes require focused tests and must preserve PlrForge's fail-closed behavior.
When reporting a character-file issue, include the detected file version and application error message, but do not attach a personal .plr file publicly.
PlrForge is available under the MIT License.
The bundled fallback item and buff metadata is licensed under the Microsoft Public License and is derived in part from the TEdit project. See THIRD_PARTY_MS-PL.txt for attribution. Terraria and its artwork are owned by Re-Logic.



