Flutter Gems

Browse 4900+ useful Dart & Flutter packages that are neatly categorized!

Subscribe Medium LinkedIn Twitter

Top Flutter Code Generator and Serialization (JSON) packages

Last updated: February 1, 2023

Code generation is a technique for automatically generating code based on certain input data or rules. In Flutter, code generation is used for a variety of purposes, such as generating code for working with JSON data, generating code for working with databases, and generating code for working with web services. Code generation can make it easier to write and maintain code, as it can automate repetitive tasks and reduce the amount of manual coding that is required.

JSON serialization is the process of converting data from a structured format, such as a JSON object, into a format that can be easily stored or transmitted. In Flutter, JSON serialization is often used for working with data that comes from web services or other external sources. The Flutter framework provides built-in support for serializing and deserializing JSON data, making it easy to work with JSON in your Flutter applications.

Annotations are a way of adding metadata or additional information to your code. In Flutter, annotations are typically used to provide additional information about the types of data that are used in your code, such as the types of objects that are returned by a function or the types of parameters that are accepted by a method. Annotations can be useful for providing additional context to your code, and can also be used by tools such as IDEs to provide better code completion and error checking.

The complete list of Dart and Flutter Code Generation, JSON Serialization and Annotation packages is provided below.


freezed
Null safety 👍 2.5K

Code generation for immutable classes that has a simple syntax/API without compromising on the features.

json_serializable
Null safety 👍 2.5K

Automatically generate code for converting to and from JSON by annotating Dart classes.

flutter_gen
Null safety 👍 811

The Flutter code generator for your assets, fonts, colors, … — Get rid of all String-based APIs.

json_annotation
Null safety 👍 733

Classes and helper functions that support JSON code generation via the 'json_serializable' package.

pigeon
Null safety 👍 607

Code generator tool to make communication between Flutter and the host platform type-safe and easier.

freezed_annotation
Null safety 👍 268

Annotations for the freezed code-generator. This package does nothing without freezed too.

mobx_codegen
Null safety 👍 247

Code generator for MobX that adds support for annotating your code with @observable, @computed, @action and also creating Store classes.

hive_generator
Null safety 👍 244

Extension for Hive. Automatically generates TypeAdapters to store any class.

dart_json_mapper
Null safety 👍 223

This package allows programmers to annotate Dart objects in order to serialize / deserialize them from / to JSON.

swagger_dart_code_generator
Null safety 👍 200

Have you been turned into a problem with writing code for Http requests? This package can help. It has all of the Http and model codegen functionality you have been looking for.

ffigen
Null safety 👍 172

Generator for FFI bindings, using LibClang to parse C header files.

riverpod_generator
Null safety 👍 134

A code generator for Riverpod. This both simplifies the syntax empowers it, such as allowing stateful hot-reload.

copy_with_extension_gen
Null safety 👍 128

Automatically generating 'copyWith' extensions code for classes with '@CopyWith()' annotation.

built_value_generator
Null safety 👍 115

Value types with builders, Dart classes as enums, and serialization. This library is the dev dependency.

source_gen
Null safety 👍 102

Source code generation builders and utilities for the Dart build system

flutter_gen_runner
Null safety 👍 86

The Flutter code generator for your assets, fonts, colors, … — Get rid of all String-based APIs.

retrofit_generator
Null safety 👍 71

retrofit generator is an dio client generator using source_gen and inspired by Chopper and Retrofit.

dart_mappable
Null safety 👍 67

Improved json serialization and data classes with full support for generics, inheritance, customization and more.

injectable_generator
Null safety 👍 65

Injectable is a convenient code generator for get_it. Inspired by Angular DI, Guice DI and inject.dart.

openapi_generator
Null safety 👍 63

Generator for openapi client sdk inspired by the npm implementation of openapi-generator-cli.

graphql_codegen
Null safety 👍 63

Simple, opinionated, codegen library for GraphQL. It allows you to generate serializers and client helpers to easily call and parse your data.

crimson
Null safety 👍 59

Fast, efficient and easy-to-use JSON parser and serializer for Dart.

protoc_plugin
Null safety 👍 54

Protoc compiler plugin to generate Dart code

json_to_model
Null safety 👍 43

Generate model class from Json file.

flutter_asset_generator
Null safety 👍 38

Automatically generate a resource file by scanning pubspec.yaml to correspond to the flutter's asset, imitation R file short name.

json_model
Null safety 👍 35

Gernerating Dart model class from Json files with one command.

stacked_generator
Null safety 👍 32

Stacked Generator is a package dedicated to reduce the boilerplate required to setup a stacked application

modular_codegen
Null safety 👍 24

Code Generate for flutter_modular. Inject Automation. Annotation @Inject, @Param and @Data.

gate_generator
Null safety 👍 22

Dependency Injection generator for your flutter/dart applications. This uses annotations and build_runner.

freezer
Null safety 👍 21

Provides the easiest and most productive automatic generation of model objects from JSON files.

simple_json
Null safety 👍 19

Simple way to dynamically convert from and to JSON using build-time generators given a type.

sqfentity_gen
Null safety 👍 18

SqfnEntity Model Generator. SQLite ORM for Flutter lets you build and execute SQL commands easily and quickly with the help of fluent methods similar to .Net Entity Framework.

drift_dev
Null safety 👍 17

Dev-dependency for users of drift. Contains a the generator and development tools.

functional_data
Null safety 👍 16

Annotations and helpers for lenses for code generated with the 'function_data_generator' package.

ferry_generator
Null safety 👍 16

Generated types for Ferry GraphQL Client

widgetbook_generator
Null safety 👍 13

A package to automate setup and maintanance of the widgetbook package by using code generation.

isar_generator
Null safety 👍 13

Code generator for the Isar Database. Finds classes annotated with @Collection.

gql_build
Null safety 👍 13

Useful builders for your GraphQL SDL and documents. Based on package:gql_code_builder and package:build

sum_types
Null safety 👍 12

sum_types and sum_types_generator packages together define a code generator enabling sum-types in Dart.

build_cli
Null safety 👍 11

Parse command line arguments directly into an annotation class using the power of build_runner and source_gen.

widgetbook_annotation
Null safety 👍 9

A package featuring the annotations used by widgetbook_generator.

kiwi_generator
Null safety 👍 9

Generates dependency injection code using the kiwi package to reduce development time.

dart_json_mapper_mobx
Null safety 👍 7

This is a dart-json-mapper complementary package provides support for MobX Stores to persist as JSON.

chopper_built_value
Null safety 👍 5

A built_value based Converter for Chopper.

json_to_dart
Null safety 👍 4

A library that generates Dart classes (parse and generator included) from a json string.

dart_json_mapper_flutter
Null safety 👍 4

This is a dart-json-mapper complementary package provides support for flutter types in order to serialize / deserialize them from / to JSON.

realm_generator
Null safety 👍 2

Generates RealmObject classes from Realm data model classes. This package is part of the official Realm Flutter and Realm Dart SDKs.

gql_code_builder
Null safety 👍 2

Dart code builders taking *.graphql documents and SDL to build useful classes.

envify_generator
Null safety 👍 2

Code generator for envify, a better tool to handle environment variables.

doc_widget_annotation
Null safety 👍 2

This is a simple package that contains annotations to generate code in doc_widget

flutter_ast
Null safety 👍 1

A Pure Dart File to Ast Serializer/Deserializer.

flamingo_generator
Null safety 👍 1

Automatically generate code for converting flamingo JSON by annotating Dart classes.

flamingo_annotation
Null safety 👍 1

Automatically generate code for converting flamingo JSON by annotating Dart classes.

dart_json_mapper_fixnum
Null safety 👍 1

This is a dart-json-mapper complementary package provides support for fixnum package types in order to serialize / deserialize them from / to JSON.

dart_json_mapper_built
Null safety 👍 1

This is a dart-json-mapper complementary package provides support for built_collection package types in order to serialize / deserialize them from / to JSON.

brick_build
Null safety 👍 1

Code generation library and interface for Brick components. Useful for creating serdes generators for adapters.

borsh_annotation
Null safety 👍 1

Annotation used to make a Dart object borsh serializable.

simple_auth_generator
Null safety 👍 0

simple_auth is an http client generator using source_gen and inspired from retrofit and chopper

carp_study_generator
Null safety 👍 0

Utilities for generating CARP Mobile Sensing studies incl. protocol, informed consent, translations, and messages.

brick_sqlite_generators
Null safety 👍 0

Code generation library for the SQLite providers, models, and adapters in Brick

brick_rest_generators
Null safety 👍 0

Code generation library for the REST providers, models, and adapters in Brick

brick_offline_first_with_rest_build
Null safety 👍 0

Code generation library for the Brick Offline First Domain using REST

brick_offline_first_with_graphql_build
Null safety 👍 0

Code generation library for the Brick Offline First Domain using GraphQL

brick_offline_first_build
Null safety 👍 0

Code generation library for the Brick Offline First Domain

brick_json_generators
Null safety 👍 0

Code generation library for the JSON-like providers, models, and adapters in Brick

brick_graphql_generators
Null safety 👍 0

Code generation library for the GraphQL providers, models, and adapters in Brick

framy_annotation
👍 29

Annotations for framy_generator. This package does nothing without framy_generator.

json_utilities
👍 7

A collection of json utilities to enhance the experience of working with json based models.