Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Paradox Modding ToolkitNew to Visual Studio Code? Get it now.
Paradox Modding Toolkit

Paradox Modding Toolkit

Joël Deffner

|
431 installs
| (1) | Free
Modding toolkit for Paradox games (Crusader Kings III, Victoria 3, Europa Universalis V): completion, go-to-definition, hover docs, tiger diagnostics, inline localization, event graph and a visual GUI editor.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info
Paradox Modding Toolkit

Script editing, visual tools and Steam Workshop publishing for Paradox mods.

For Crusader Kings III, Victoria 3 and Europa Universalis V.

License: GPL-3.0-or-later Status: beta VS Code Discord

Build with the language server: Install the server · Embed in an application · Wire protocol

Start editing

  1. Install Paradox Modding Toolkit (JDeffner.px-toolkit), then open Start Here in the PX Toolkit sidebar. Create a mod or find an existing one by name. Add it to the current workspace to see its files in Explorer, or open it in a new window.
  2. Run Paradox: Run Setup & Health Check. Check the detected game, mod and data paths. CK3 and Victoria 3 include vocabulary snapshots; EU5 needs your own script_docs dump.
  3. Open a script file. Completion offers engine words and indexed definitions; hover explains the word under the cursor. The Project panel opens the visual tools and publishing commands. Use Paradox: Validate Mod from the Command Palette to check your mod.

New to modding? Follow Your first CK3 mod. For an existing project, use Getting Started. If setup does not work, start with Troubleshooting.

This is a beta. Check generated content in the game before publishing it. After game patches, regenerate your dumps to match the installed version.

At the cursor

  • Live editing: suggestions, navigation and rename follow unsaved edits. Problems update when referenced events or required translations change in another file.

  • Completion templates: choose Minimal, Examples or Names with px.completion.mode. Preview inserted code and expected values, or run Paradox: Export Generated Snippets (HTML / Print) to browse, copy and print the full catalogue.

  • Completion and navigation: scope-aware ranking, definitions, references, rename, symbols and block skeletons. Items outside the inferred scope are annotated rather than hidden.

  • Documentation from the game: hover descriptions, scope information, localized text and texture previews, plus searchable vanilla examples.

  • Graphics assets: CK3 and Victoria 3 .asset indexing, context-specific completion, reference navigation and DDS previews. Use px.indexAssets to toggle scanning.

  • Section folding: ### Title or longer hash headings fold through the next heading or the end of the file, across closing braces.

  • Validation: instant structural checks for malformed files, encodings and folder mistakes. CK3 and Victoria 3 also integrate tiger for deeper validation.

  • Localization: coverage, inlay hints, quick fixes and workflows for adding languages or making a translation mod.

  • Context actions: right-click files, definitions, overrides and localization references to open, compare or edit the selected source. Project shows the current mod, with All Tools and Customize in its title bar.

  • BBCode preview: choose BBCode Preview from VS Code's editor selector or open it beside the source. Preview includes unsaved edits and preserves the BBCode language mode.

Build and inspect content

The Flag Builder, Coat of Arms Designer and DDS viewer have bottom-left background controls: dark, light, custom color and reset. Each tool remembers its choice in the workspace.

The Event Simulator walks an event and its options beside the source. The Event Graph follows firing chains and lets you edit event content. Both are static tools; they do not execute the game.

Event simulator beside the source, with localized options and effects

The GUI Editor lets you select, move and resize widgets, inspect inherited properties and save source-preserving edits. Its preview models supported layout rules; runtime bindings still need an in-game check. CK3 also has forms for traits, cultures, traditions, legacies, dynasties and coats of arms. Victoria 3 and EU5 have the Flag Builder.

CK3 Trait Creator with editable values, a game-style preview and generated script

The Dynasty Tree supports copying DNA for mod files or the game, including lookup in dependency mods and pasting portrait-editor DNA.

Convert batches of DDS, PNG, JPEG and WebP images from Utils or file context menus, with progress, cancellation and a choice to skip or overwrite existing outputs. The Project panel also opens game launch options, custom calendars, multi-mod indexing and the Steam Workshop Panel. Workshop uploads use your running Steam client and show the parts being uploaded before confirmation.

Choose your workflow

Task Guide
Create a mod and test it in CK3 First Mod
Work on a submod, total conversion or translation Multi Mod and Translation
Design content or interfaces Content Creators, GUI Editor
Publish or update a mod Steam Workshop
Tune settings or diagnose a problem Configuration, Troubleshooting

Game and client support

Feature CK3 Victoria 3 EU5
Script language core Yes Yes Yes; own engine dump needed
Tiger validation Yes Yes No
Visual GUI editor Yes Yes No
CK3 content creators Yes No No
Coat-of-arms editor Designer Flag Builder Flag Builder

EU5's schema is community-sourced and has not been verified against a live install. Read Supported Games for the full matrix and dump commands, and Platform Support for local, remote and non-Steam setups.

The standalone language server is available as @px-lsp/server, with a tested Neovim setup. Zed and Helix integrations are currently unverified. Application authors can use the Embedding guide, including the browser library. Tiger and the visual tools remain VS Code features.

AI-agent modding skills live in the separate paradox-ai-modding project.

Contributing & feedback

This is a beta shaped by the people who use it. The best thing you can do is tell me what breaks and what is missing:

  • File an issue for bugs, false diagnostics, or feature ideas. Concrete examples from real mods are gold. Wrong or missing folder mappings, especially for EU5, have their own "Schema gap" issue form.
  • PRs are welcome. The per-game schema tables (packages/server/src/games/<game>/schema.ts) are deliberately small and community-editable: adding a folder kind or loc requirement is a good first contribution.
  • Fork it and take inspiration. If a piece of this is useful in your own tooling, use it. It is GPL-3.0-or-later, so keep distributed derivatives open.
  • Join the Discord for release notes, quick questions and modding help. The extension links to it from the bottom of the Project panel and from Paradox: Join the Discord.

Dev quickstart

pnpm install
pnpm run compile      # esbuild bundles dist/extension.js (client) + dist/server.js
pnpm run typecheck
pnpm test             # vitest; copy dev-paths.example.json to dev-paths.json to also run the vanilla corpus suites

Layout (pnpm monorepo): packages/vscode/ (this extension) · packages/server/ (language server: parser, index, scopes, features, per-game profiles, bundled data) · packages/protocol/ (types, wire protocol, shared helpers) · packages/*/test/ (vitest suites incl. corpus/fixture tests). The extension is a client/server LSP split: the thin client runs in the extension host, all parsing and analysis lives in a separate server process. Everything game-specific sits behind one GameProfile boundary that CI enforces. The architecture map and conventions are in AGENTS.md.

Acknowledgements

The extension stands on work by others. The key sources and inspirations:

  • tiger by amtep, the validator behind the ck3-tiger and vic3-tiger diagnostics integration.
  • cwtools and cwtools-vscode, for the landscape and design inspiration.
  • kaiser-chris/cwtools-eu5-config, the source of the EU5 folder schema (MIT, pinned commit; the Victoria 3 equivalent was used as a cross-check only). Full notices in THIRD-PARTY-NOTICES.md.
  • jesec/ck3-modding-wiki, the source of the bundled CK3 fallback token lists (CC BY-SA 3.0, see ATTRIBUTION.md).
  • Paradox's own in-game _*.info format docs, the primary ground truth for the CK3 schema layers. No game assets are redistributed.

The complete table with licenses is on the Credits wiki page.

License

GPL-3.0-or-later. In short: use, modify and redistribute freely, but any distributed fork or derivative must publish its source under the GPL too. See LICENSE. Bundled third-party data keeps its own terms (the CK3 wiki token lists are CC BY-SA, see ATTRIBUTION.md; the EU5 schema import is MIT, see THIRD-PARTY-NOTICES.md).

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft