Jump to content

PKHeX 23.01.26


Recommended Posts

PKHeX is a save editor for core-series Pokémon games. With it, users can manipulate various save files including: .sav, .dsv, .dat, .gci, .raw, and .bin types. PKHeX can also read and write: .pk files, which are individual Pokémon files, and .pgt, .pcd, .pgf, .wc, which are Mystery Gift files.

Version 23.01.26 of PKHeX has been released. This version is a major update, with a bump from .NET 4.6 to .NET 7. You WILL need .NET 7 to run this and future versions of PKHeX. Non-Windows devices will need to wait for Wine or Mono to update to support this version of .NET. This update also brings various UI changes.

Take note that other related applications will still need time to update to .NET 7 alongside PKHeX, and updated versions of PKHeX Plugins (LiveHeX) and SysBot may not be immediately available.


Change log:


23/01/26 - New Update:
 - Changed: PKHeX now uses .NET 7 for its runtime (updated from .NET Framework 4.6)!
 - - Requires Windows 64bit operating system, with the .NET Desktop Runtime 7.0.x
 - - https://dotnet.microsoft.com/en-us/download/dotnet/7.0
 - - For those wanting to run the program from a Mac/Linux machine, use a Windows VM. No more mono/wine support.
 - - This change results in a faster program, and being able to write more modern & extensible C# code.
 - Changed: The Main Window layout has been adjusted for better GUI scaling support:
 - - PKM Editor now uses vertical tabs, and some controls have moved to more appropriate tabs.
 - - PKM Editor now has a "Cosmetic" tab, which contains low significance values like Contest Stats.
 - - PKM Editor now has a simple selector for Handling Trainer selection rather than the background highlights.
 - Legality:
 - - Fixed: A few recognition bugs have been fixed. Thanks @Lorenzooone!
 - Batch Editor:
 - - Added: Batch Editor can now filter with >/≥ and </≤ operators, improved from just != and =.
 - - Added: Ribbon and Mark count properties added. Can now sort boxes by these counts!
 - - Changed: TID/SID properties renamed; when using 16-bit trainer IDs, use TID16/SID16.
 - Changed: Gen9 S/V no longer show the Square Shiny icon, as Xor0 no longer indicates differently in-game.
 - Changed: Gen9 S/V raid parameter editor "Set All 6 Star" changed to "Copy current values to Other Raids".
 - Changed: With the update to .NET 7, some features have been rewritten for better performance, or for better usage.
 - Changed: GUI translations updated. Thanks @Manu098vm, @Kitcham, @easyworld, @jimmyorz, @Bl4ckSh4rk, @ppllouf, @butaneeeee!


Download      |     FAQ     |     Support Forum

View full article

Link to comment
Share on other sites

On 1/28/2023 at 3:19 AM, Nuclear_Jouna said:

I installed .NET 7 but when i tried to open the program it doesn't do anything

Are you running a 64bit version of Windows? if so what version of Windows?

I initially got the error about updating the .NET framework:


However after updating everything seems fine on Windows 11 22H2.

Link to comment
Share on other sites

3 hours ago, NekoSabrina said:

I'm having a lot of trouble trying to find information about .NET 7's OS compatibility. Is this indirectly the end of PKHeX's support of older OS or are Windows 7 users still going to be okay?

You need at least Win 10 for .NET 7. Time to upgrade to a modern OS!

Link to comment
Share on other sites

If anything, you can run PkHex in developer oriented VMs that Microsoft ships for various platforms. Seems like an overkill, but for Linux users like myself it's quicker than shamanic dances with Wine or Mono.

At any case, new layout for Pokemon editor takes quite some time to get used to :( 

Link to comment
Share on other sites

I updated to the current version when it went live. A couple days later, another update prompt for "20230130" appeared in the corner, but I click it and it shows this error.



Exception Details:
System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'https://projectpokemon.org/pkhex/' with working directory 'C:\Users\*****\Desktop'. The system cannot find the file specified.
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at PKHeX.WinForms.Main.<>c.<NotifyNewVersionAvailable>b__35_0(Object _, EventArgs _)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Label.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)

Loaded Assemblies:
System.Private.CoreLib, Version=, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Private.CoreLib.dll

PKHeX, Version=, Culture=neutral, PublicKeyToken=null

System.Runtime, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Runtime.dll

System.Threading.Thread, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Threading.Thread.dll

System.Windows.Forms, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\7.0.2\System.Windows.Forms.dll

System.ComponentModel.Primitives, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.ComponentModel.Primitives.dll

System.Windows.Forms.Primitives, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\7.0.2\System.Windows.Forms.Primitives.dll

System.Runtime.InteropServices, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Runtime.InteropServices.dll

System.Drawing.Primitives, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Drawing.Primitives.dll

System.Collections.Specialized, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Collections.Specialized.dll

System.Collections, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Collections.dll

System.Threading, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Threading.dll

System.Diagnostics.TraceSource, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Diagnostics.TraceSource.dll

System.Drawing.Common, Version=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\7.0.2\System.Drawing.Common.dll

Microsoft.Win32.Primitives, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\Microsoft.Win32.Primitives.dll

System.ComponentModel.EventBasedAsync, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.ComponentModel.EventBasedAsync.dll

Accessibility, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35
C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\7.0.2\Accessibility.dll

System.Resources.Extensions, Version=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\7.0.2\System.Resources.Extensions.dll

System.Memory, Version=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Memory.dll

System.Drawing, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\7.0.2\System.Drawing.dll

System.Numerics.Vectors, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Numerics.Vectors.dll

Microsoft.Win32.SystemEvents, Version=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\7.0.2\Microsoft.Win32.SystemEvents.dll

System.ComponentModel.TypeConverter, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.ComponentModel.TypeConverter.dll

System.ComponentModel, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.ComponentModel.dll

PKHeX.Core, Version=, Culture=neutral, PublicKeyToken=null

System.Linq, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Linq.dll

System.Collections.NonGeneric, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Collections.NonGeneric.dll

System.Text.Json, Version=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Text.Json.dll

System.Text.Encodings.Web, Version=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Text.Encodings.Web.dll

System.Text.Encoding.Extensions, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Text.Encoding.Extensions.dll

System.Runtime.Intrinsics, Version=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Runtime.Intrinsics.dll

System.Collections.Concurrent, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Collections.Concurrent.dll

PKHeX.Drawing.PokeSprite, Version=, Culture=neutral, PublicKeyToken=null

System.ObjectModel, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.ObjectModel.dll

System.Runtime.Loader, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Runtime.Loader.dll

System.Private.Uri, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Private.Uri.dll

System.Net.Http, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Net.Http.dll

System.Net.Primitives, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Net.Primitives.dll

System.Diagnostics.Tracing, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Diagnostics.Tracing.dll

System.Diagnostics.DiagnosticSource, Version=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Diagnostics.DiagnosticSource.dll

System.Net.Security, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Net.Security.dll

System.Security.Cryptography, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Security.Cryptography.dll

System.Net.Quic, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Net.Quic.dll

PKHeX.Drawing, Version=, Culture=neutral, PublicKeyToken=null

PKHeX.Drawing.Misc, Version=, Culture=neutral, PublicKeyToken=null

System.Threading.ThreadPool, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Threading.ThreadPool.dll

System.Net.Sockets, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Net.Sockets.dll

System.Threading.Overlapped, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Threading.Overlapped.dll

System.Net.NameResolution, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Net.NameResolution.dll

System.Windows.Extensions, Version=, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\7.0.2\System.Windows.Extensions.dll

System.Security.Principal.Windows, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Security.Principal.Windows.dll

System.Security.Claims, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Security.Claims.dll

System.Text.RegularExpressions, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Text.RegularExpressions.dll

Microsoft.Win32.Registry, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\Microsoft.Win32.Registry.dll

System.Diagnostics.Process, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Diagnostics.Process.dll

System.Diagnostics.StackTrace, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Diagnostics.StackTrace.dll

System.Reflection.Metadata, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Reflection.Metadata.dll

System.Collections.Immutable, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.2\System.Collections.Immutable.dll

User Message:
An unhandled exception has occurred.
You can continue running PKHeX, but please report this error.



Link to comment
Share on other sites

On 1/29/2023 at 6:16 AM, InsaneNutter said:

Are you running a 64bit version of Windows? if so what version of Windows?

I initially got the error about updating the .NET framework:


However after updating everything seems fine on Windows 11 22H2.

I am running on a 64bit version of windows buuuut i have Windows 7 i think that's the problem

Link to comment
Share on other sites

11 hours ago, Nuclear_Jouna said:

I am running on a 64bit version of windows buuuut i have Windows 7 i think that's the problem

Windows 7 will be the problem, Microsoft discontinued support for it 3 years ago. You need Windows 10 or 11 for .NET 7.

You can actually still upgrade to Windows 10 for free from Windows 7 even though its not advertised. Chances are if your hardware supports Windows 7, Windows 10 will also work fine: https://www.microsoft.com/en-gb/software-download/windows10 - only do that if you are confident you can fix your system if anything goes wrong during the upgrade process however.

Link to comment
Share on other sites

35 minutes ago, Lt. Lynx said:

Sorry if this is stupid, but I'm a bit lost. Every time I try to roll PID for 3rd gen Pokémon, they turn illegal. As I'm trying to edit IVs, how could I set a proper PID?

You have to use Pokefinder to calculate a valid PID. Check this:


  • Like 1
Link to comment
Share on other sites

11 minutes ago, Lt. Lynx said:

Thank you for your answer. It would be nice if PKHeX itself could find a valid PID or tell if there's no valid PID for the stats combination.

If I remember correctly, the dev doesn’t want to bloat the program with functionality that already exists and dealt with by other programs. So that’s unlikely to happen.

  • Teary-Eyed 1
Link to comment
Share on other sites

51 minutes ago, TheRealAlphA said:

Hello, i have some issues with the new update (im running net 7.0 and windows 10)
I have used the app with any error, but this time when I try to run the exe appears this problem:
any adv?

WhatsApp Image 2023-02-13 at 14.15.57.jpeg

Delete the all the files and the entirely folder. Then redownload and extract to a new folder that had nothing else in it. Then let us know. 

Link to comment
Share on other sites

I know this is a nit pick but the PCNY distribution pokemon are considered "illegal" pokemon in PKhex since they aren't in the "mystery gift database" I know this won't be an issue with the game as the games know where they came from but PKhex doesn't and I think it's kinda funny and also kinda random.


Link to comment
Share on other sites

So despise the log telling me that i NEED a Windows VM i still try to install the .NET recent version and then download the new version of PKHEX and all work perfectly on Linux Mint 21.1 Cinnamon with Wine.

Im happy i just wanted to report that for me, at the moment, i have no issue with using this version on Linux.

I will need to test more but for now all seems to work normaly like this.

Link to comment
Share on other sites

love using the program to edit and create, BUT pleAse have Pkhex for iOS and Android for download on the site as well, because, while I was able to get and install Pkhex for android, I'm unable to get Pkhex for iOS, and the only one for iOS i was able to come across was posted on GITHUB, and I have no idea what to do about that,

any way, thanks

Link to comment
Share on other sites

1 hour ago, enton said:

love using the program to edit and create, BUT pleAse have Pkhex for iOS and Android for download on the site as well, because, while I was able to get and install Pkhex for android, I'm unable to get Pkhex for iOS, and the only one for iOS i was able to come across was posted on GITHUB, and I have no idea what to do about that,

any way, thanks

If I understand correctly, not happening.

iOS - has a bunch of restrictions, limitations, and TOS stuff that I don’t think it can get accepted onto the store

Android - there’s a old proof-of-concept copy that can be compiled into an APK, but it hasn’t been maintained and doesn’t look like it would.

no idea what iOS copy you came across but I probably wouldn’t even try to use it.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...