This app is not affiliated with or endorsed by miHoYo. GenshinDb is just a database app for the Genshin Impact game


  • Artifacts
  • Characters
  • Weapons
  • Materials
  • And many more to come


Before contributing, please ask me if whatever you are planning to do / add / improve is valid for this project.

You can build and run this thing by following these steps:

  • Clone this repository
  • Checkout the develop branch
  • Run flutter pub get
  • Run flutter pub run build_runner build --delete-conflicting-outputs
  • Install the Flutter Intl extension (It is available in Vs Code and Android Studio)
  • Run the flutter intl initialize command from your IDE
  • Create a Secrets class in the infrastructure/telemetry folder and add a static property called appCenterKey (You could also comment the related code)
  • Profit


Currently the app supports English and Spanish (There are some folks working on a French / Russian translation).
If you want to help me with the translations, I encourage you to check the following files:

  • The main one (where all the data of the characters / artifacts / etc. are stored):

  • The general one (where common strings are stored [not related specifically to the game]):

To translate the general one is very simple, create a copy of the file, keeping the keys and translate the values:
E.g (in spanish) : "dark" :"Oscuro"

The main one is where you will find all the data for all the weapons, artifacts, etc.
To translate this file just create a copy of it and do the following:
There is a key called "key" for each character, weapon, etc, and this one does not require a translation, it's just there for convenience,
and the same applies here, just keep the keys and translate the values
E.g: if I'm translating "name": "Normal Attack" to spanish it will look like this: "name": "Ataque normal"

In this file, there are some translations (mainly for weapons) that look like this: "Increases DMG against enemies affected by Hydro or Pyro by {{0}}%",
The {{x}} is a placeholder and the value shouldn't be changed, but the position can be changed in the text.