FeynRules is a Mathematica package designed to facilitate the implementation of new particle physics models. It derives Feynman rules from a Lagrangian and stores them in a generic format suitable for translation into various Feynman diagram calculation programs such as CalcHEP/CompHEP, FeynArts/FormCalc, MadGraph/MadEvent, and Sherpa. The package allows users to implement models once and use them in multiple Feynman diagram calculators. The paper describes the structure of the model file, the process of writing a Lagrangian, and provides a detailed example of implementing QCD with six quark flavors. It also discusses the translation interfaces and the underlying algorithms used by FeynRules.FeynRules is a Mathematica package designed to facilitate the implementation of new particle physics models. It derives Feynman rules from a Lagrangian and stores them in a generic format suitable for translation into various Feynman diagram calculation programs such as CalcHEP/CompHEP, FeynArts/FormCalc, MadGraph/MadEvent, and Sherpa. The package allows users to implement models once and use them in multiple Feynman diagram calculators. The paper describes the structure of the model file, the process of writing a Lagrangian, and provides a detailed example of implementing QCD with six quark flavors. It also discusses the translation interfaces and the underlying algorithms used by FeynRules.