#serialization #no-std

no-std serde_core

Serde traits only, with no support for derive – use the serde crate instead

10 stable releases

1.0.229 Jul 18, 2026
1.0.228 Sep 27, 2025

#229 in #serialize

94,002,147 downloads per month
Used in 183,542 crates (209 directly)

MIT/Apache

385KB
7.5K SLoC

The serde_core crate contains Serde's trait definitions with no support for #[derive()].

In crates that derive an implementation of Serialize or Deserialize, you must depend on the serde crate, not serde_core.

In crates that handwrite implementations of Serde traits, or only use them as trait bounds, depending on serde_core is permitted. But serde re-exports all of these traits and can be used for this use case too. If in doubt, disregard serde_core and always use serde.

Crates that depend on serde_core instead of serde are able to compile in parallel with serde_derive even when serde's "derive" feature is turned on, as shown in the following build timings.


When serde_json depends on serde

When serde_json depends on serde_core

Dependencies