Your universe, your rules

Editor & Community Datasets

Anpfiff deliberately ships with fictional clubs and players — real league structures, club names and badges are protected by licensing rights and aren't available to any single app. Instead of leaving a gap, Anpfiff turns that into a core feature: a built-in editor that lets you shape clubs, players and leagues the way you know them, plus an open data format the community uses to build and share its own datasets.

Use the editor Build your own editor

What you can edit

Clubs, players, leagues

🛡️

Clubs

Name, short code, city, badge, kit colours, formation, fan character, rivals and fan friendships — make every club your own.

👕

Players

Name, nationality, position, technique, fitness, talent and more. Contract, market value and salary are covered too.

🏆

Leagues

Move clubs between leagues and rename them — from the top domestic division down to the foreign leagues.

Getting started

Editor step by step

Note: the editor's interface itself is in German (button labels below are quoted as they appear in the app). The editor is always reachable — even without a running game, straight from the start screen.

Open the editor

Go to Settings → Dataset (German: „Einstellungen → Datensatz") and tap „Editor".

Switch between the three tabs

The editor has three tabs of equal rank: Clubs, Players, Leagues (German: „Vereine", „Spieler", „Ligen"). There's no "League → Club → Player" hierarchy — you jump straight to whatever you want to edit.

Edit a club

Name (max. 100 characters), short code (3 letters, auto-capitalised), city, matchup name (max. 24 characters), stadium name with capacity, a badge chosen from 54 built-in designs, league assignment via dropdown, budget tier, formation, fan character, fanbase size, founding year, two kit colours from a 16-colour palette, plus rivals and fan friendships as chips.

Important: the stadium capacity is only saved if you also enter a stadium name. Custom badges can't be uploaded directly — only via a ZIP import (see below).

Edit or create a player

Name, nationality, position (goalkeeper/defender/midfielder/forward, with an optional secondary position), sliders for technique, fitness and talent (1–99), constitution, leadership and nerve (20–90), age (16–40), market value (up to 200,000), salary (up to 50,000) and contract length.

Creating a new player only requires a name — salary and contract are set automatically. Deleting only works for players, not clubs or leagues, and always asks for confirmation.

Save

There is no undo — every change is written immediately. Check your input before moving on.

⚠️

The most common trap: every league needs exactly 18 clubs, and every club needs at least 11 players. The editor doesn't warn you when moving a club throws a league out of balance — the error only shows up on import, for example as "League 'X' has N teams (expected: 18)." Count before you export.

Export & import

Export a dataset

Tap „Datensatz exportieren" (Export dataset) — this opens your device's share sheet. The resulting file is called anpfiff_datensatz.anpfiff, plain JSON in format v3, including foreign leagues.

Import a dataset

Use „Datei auswählen" (Select file) to open a .anpfiff or .json file. Anpfiff first shows a green preview with counters for leagues, teams and players.

Import only happens after you confirm — with the notice: "The current dataset will be overwritten. Your save game (season, matchdays) is preserved."

Bundle badges via ZIP

A ZIP import is also possible: dataset.json plus badges/badge_*.webp, each badge up to 2 MB. The app itself never produces a ZIP — only plain JSON on export.

Back to default

The reset function restores the built-in default dataset at any time.

A closer look

The editor in action

Anpfiff editor — overview of the Clubs, Players and Leagues tabs

Editor overview

Anpfiff editor — editing a club with badge, colours and formation

Editing a club

Anpfiff editor — player list with search and position tags

Player list

Anpfiff editor — player attributes with sliders for technique, fitness and talent

Editing a player

Anpfiff editor — creating a new player

New player

Anpfiff — dataset export and import screen

Import & export

Anpfiff — import preview with counters for leagues, teams and players

Import preview

Anpfiff — error message for an invalid dataset, for example a duplicate team ID

Import error message

For tinkerers & community tools

Build your own editor

The .anpfiff data format is openly documented. You can build your own generators, converters or community tools without touching the app itself.

Format v3 overview

A dataset is either a plain JSON file or a ZIP container (the app detects both automatically from the magic bytes). At the top level sit version (2 or 3, missing means 2), exportedAt, and the lists leagues, teams, players and relations. Unknown fields are ignored on import — the format is forward-compatible with future extensions.

League
FieldTypeRules
idnumberGlobally unique
namestringDisplay name of the league
Team
FieldTypeRules
idnumberGlobally unique; on a fixed ID grid for foreign leagues
namestringMax. 100 characters
leagueIdnumberMust reference an existing League id
playersnumberAt least 11 per team
Player
FieldTypeRules
idnumberGlobally unique
teamIdnumberMust reference an existing Team id
positionIndexnumber0–3 (GK/DEF/MID/FWD)
technique, fitness, talentnumberEach 1–99
formnumber1–99 — required in the JSON, hidden in the editor UI
Relations
FieldTypeRules
teamId, relatedTeamIdnumberMust reference existing Team ids
relationTypestringrival or friend

ID grid & foreign leagues

All ids must be globally unique, and every reference (leagueId, teamId, relatedTeamId) must point to an existing object. Domestic leagues carry ids below 10 — at least two are required. Foreign leagues live exclusively in the id range 10–15, and their teams sit on a fixed id grid: either complete with 18 teams or not present at all — partially filling a foreign league is invalid.

Version rules & limits

Limits (format v3)
LimitValue
Total file size50 MB
dataset.json inside a ZIP20 MB
Leagues, maximum16
Teams, maximum308
Players, maximum10,000
Teams per leagueexactly 18
Players per teamat least 11
Domestic leagues (ids < 10)at least 2
Badges inside a ZIP2 MB each, maximum

Minimal example (v3)

{
  "version": 3,
  "exportedAt": "2026-08-01T10:00:00Z",
  "leagues": [
    { "id": 1, "name": "Division One" }
  ],
  "teams": [
    { "id": 100, "name": "FC Example", "leagueId": 1 }
  ],
  "players": [
    {
      "id": 1000,
      "teamId": 100,
      "name": "John Smith",
      "positionIndex": 2,
      "technique": 60,
      "fitness": 70,
      "talent": 55,
      "form": 65
    }
  ],
  "relations": []
}
JSON Schema (v3) Example: minimal Example: complete Example: with badges (ZIP)

Questions & answers

Limits & frequently asked questions

Is a community dataset a save game?

No. A dataset only describes leagues, clubs and players. Your save game — season, matchdays played, tables — is left untouched by an import.

Does importing run entirely offline?

Yes. Export, import and dataset processing all happen locally on your device — no server, no upload, no account required.

Why doesn't Anpfiff ship with real club names?

Real names, badges and league structures are protected by licensing rights. That's why Anpfiff ships with fictional clubs — the editor is how you turn that into your own, familiar universe.

Can I import datasets the same way on iOS and Android?

The route to the file differs: on iOS, "Open with" straight from the Files app is enough. On Android, you pick the file via Settings → Import/Export inside the app itself.

Am I allowed to use real club names or badges in shared datasets?

Only share content you created yourself. Real names, logos or badges belonging to others don't belong in datasets you share with other people.

Get started

Make Anpfiff your own game

Download on the App Store Get it on Google Play Try it free Play in browser

Technical docs: Format v3 & downloadsAll features at a glance

DE · EN