diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index ccd9786811..d9d9aa8b23 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -623,7 +623,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
 // @section lcd
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/configurator/config/Configuration.h b/Marlin/configurator/config/Configuration.h
index ccd9786811..9b19e24193 100644
--- a/Marlin/configurator/config/Configuration.h
+++ b/Marlin/configurator/config/Configuration.h
@@ -623,7 +623,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
 // @section lcd
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h
index 9df608264d..5352bc5e11 100644
--- a/Marlin/example_configurations/Felix/Configuration.h
+++ b/Marlin/example_configurations/Felix/Configuration.h
@@ -557,7 +557,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
 //==============================LCD and SD support=============================
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/Felix/Configuration_DUAL.h b/Marlin/example_configurations/Felix/Configuration_DUAL.h
index 27c2d0c223..681c954c35 100644
--- a/Marlin/example_configurations/Felix/Configuration_DUAL.h
+++ b/Marlin/example_configurations/Felix/Configuration_DUAL.h
@@ -553,7 +553,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
 //==============================LCD and SD support=============================
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h
index 535033599b..0b437d107f 100644
--- a/Marlin/example_configurations/Hephestos/Configuration.h
+++ b/Marlin/example_configurations/Hephestos/Configuration.h
@@ -580,7 +580,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
 //==============================LCD and SD support=============================
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h
index b430543ef5..6061e739f8 100644
--- a/Marlin/example_configurations/K8200/Configuration.h
+++ b/Marlin/example_configurations/K8200/Configuration.h
@@ -640,7 +640,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
 // @section lcd
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h
index aa623d2db5..1d85ac56c3 100644
--- a/Marlin/example_configurations/SCARA/Configuration.h
+++ b/Marlin/example_configurations/SCARA/Configuration.h
@@ -608,7 +608,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
 //==============================LCD and SD support=============================
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h
index 142d163a82..53ce0bad39 100644
--- a/Marlin/example_configurations/WITBOX/Configuration.h
+++ b/Marlin/example_configurations/WITBOX/Configuration.h
@@ -579,7 +579,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
 //==============================LCD and SD support=============================
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h
index 6aeb7fa41f..4820f58909 100644
--- a/Marlin/example_configurations/delta/generic/Configuration.h
+++ b/Marlin/example_configurations/delta/generic/Configuration.h
@@ -625,7 +625,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
 //==============================LCD and SD support=============================
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h
index 0f7662892e..cf8cd0b9d0 100644
--- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h
+++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h
@@ -629,7 +629,7 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
 //==============================LCD and SD support=============================
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
 // See also language.h
 #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h
index 33419bd87a..a5f04cf481 100644
--- a/Marlin/example_configurations/makibox/Configuration.h
+++ b/Marlin/example_configurations/makibox/Configuration.h
@@ -576,7 +576,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic
 //==============================LCD and SD support=============================
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+
 // See also language.h
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h
index a317358a9d..92ed23f2f1 100644
--- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h
+++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h
@@ -582,7 +582,8 @@ const bool Z_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic
 //==============================LCD and SD support=============================
 
 // Define your display language below. Replace (en) with your language code and uncomment.
-// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+// en, pl, fr, de, es, ru, bg, it, pt, pt-br, fi, an, nl, ca, eu, kana, kana_utf8, cn, test
+
 // See also language.h
 //#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
 
diff --git a/Marlin/language.h b/Marlin/language.h
index 856bd58db5..22e1131174 100644
--- a/Marlin/language.h
+++ b/Marlin/language.h
@@ -20,6 +20,7 @@
 // de       German
 // es       Spanish
 // ru       Russian
+// bg       Bulgarian
 // it       Italian
 // pt       Portuguese
 // pt-br    Portuguese (Brazil)
diff --git a/Marlin/language_bg.h b/Marlin/language_bg.h
new file mode 100644
index 0000000000..3acc17481d
--- /dev/null
+++ b/Marlin/language_bg.h
@@ -0,0 +1,138 @@
+/**
+ * Bulgarian
+ *
+ * LCD Menu Messages
+ * See also documentation/LCDLanguageFont.md
+ *
+ */
+#ifndef LANGUAGE_BG_H
+#define LANGUAGE_BG_H
+ 
+#define MAPPER_D0D1                // For Cyrillic
+// Define SIMULATE_ROMFONT to see what is seen on the character based display defined in Configuration.h
+//#define SIMULATE_ROMFONT
+#define DISPLAY_CHARSET_ISO10646_5
+ 
+#define WELCOME_MSG                         MACHINE_NAME " Готов."
+#define MSG_SD_INSERTED                     "Картата е поставена"
+#define MSG_SD_REMOVED                      "Картата е извадена"
+#define MSG_MAIN                            "Меню"
+#define MSG_AUTOSTART                       "Автостарт"
+#define MSG_DISABLE_STEPPERS                "Изкл. двигатели"
+#define MSG_AUTO_HOME                       "Паркиране"
+#define MSG_SET_HOME_OFFSETS                "Задай Начало"
+#define MSG_SET_ORIGIN                      "Изходна точка"
+#define MSG_PREHEAT_PLA                     "Подгряване PLA"
+#define MSG_PREHEAT_PLA_N                   "Подгряване PLA"
+#define MSG_PREHEAT_PLA_ALL                 "Подгр. PLA Всички"
+#define MSG_PREHEAT_PLA_BEDONLY             "Подгр. PLA Легло"
+#define MSG_PREHEAT_PLA_SETTINGS            "Настройки PLA"
+#define MSG_PREHEAT_ABS                     "Подгряване ABS"
+#define MSG_PREHEAT_ABS_N                   "Подгряване ABS"
+#define MSG_PREHEAT_ABS_ALL                 "Подгр. ABS Всички"
+#define MSG_PREHEAT_ABS_BEDONLY             "Подгр. ABS Легло"
+#define MSG_PREHEAT_ABS_SETTINGS            "Настройки ABS"
+#define MSG_COOLDOWN                        "Охлаждане"
+#define MSG_SWITCH_PS_ON                    "Вкл. захранване"
+#define MSG_SWITCH_PS_OFF                   "Изкл. захранване"
+#define MSG_EXTRUDE                         "Екструзия"
+#define MSG_RETRACT                         "Откат"
+#define MSG_MOVE_AXIS                       "Движение по ос"
+#define MSG_MOVE_X                          "Движение по X"
+#define MSG_MOVE_Y                          "Движение по Y"
+#define MSG_MOVE_Z                          "Движение по Z"
+#define MSG_MOVE_E                          "Екструдер"
+#define MSG_MOVE_01MM                       "Премести с 0.1mm"
+#define MSG_MOVE_1MM                        "Премести с 1mm"
+#define MSG_MOVE_10MM                       "Премести с 10mm"
+#define MSG_LEVEL_BED                       "Нивелиране"
+#define MSG_SPEED                           "Скорост"
+#define MSG_NOZZLE                          LCD_STR_THERMOMETER " Дюза"
+#define MSG_BED                             LCD_STR_THERMOMETER " Легло"
+#define MSG_FAN_SPEED                       "Вентилатор"
+#define MSG_FLOW                            "Поток"
+#define MSG_CONTROL                         "Управление"
+#define MSG_MIN                             LCD_STR_THERMOMETER " Минимум"
+#define MSG_MAX                             LCD_STR_THERMOMETER " Максимум"
+#define MSG_FACTOR                          LCD_STR_THERMOMETER " Фактор"
+#define MSG_AUTOTEMP                        "Авто-темп."
+#define MSG_ON                              "Вкл. "
+#define MSG_OFF                             "Изкл. "
+#define MSG_PID_P                           "PID-P"
+#define MSG_PID_I                           "PID-I"
+#define MSG_PID_D                           "PID-D"
+#define MSG_PID_C                           "PID-C"
+#define MSG_ACC                             "Acc"
+#define MSG_VXY_JERK                        "Vxy-jerk"
+#define MSG_VZ_JERK                         "Vz-jerk"
+#define MSG_VE_JERK                         "Ve-jerk"
+#define MSG_VMAX                            "Vmax "
+#define MSG_X                               "x"
+#define MSG_Y                               "y"
+#define MSG_Z                               "z"
+#define MSG_E                               "e"
+#define MSG_VMIN                            "Vmin"
+#define MSG_VTRAV_MIN                       "VTrav min"
+#define MSG_AMAX                            "Amax "
+#define MSG_A_RETRACT                       "A-откат"
+#define MSG_XSTEPS                          "X стъпки/mm"
+#define MSG_YSTEPS                          "Y стъпки/mm"
+#define MSG_ZSTEPS                          "Z стъпки/mm"
+#define MSG_ESTEPS                          "E стъпки/mm"
+#define MSG_TEMPERATURE                     "Температура"
+#define MSG_MOTION                          "Движение"
+#define MSG_VOLUMETRIC                      "Нишка"
+#define MSG_VOLUMETRIC_ENABLED              "E in mm3"
+#define MSG_FILAMENT_SIZE_EXTRUDER_0        "Диам. нишка 1"
+#define MSG_FILAMENT_SIZE_EXTRUDER_1        "Диам. нишка 2"
+#define MSG_FILAMENT_SIZE_EXTRUDER_2        "Диам. нишка 3"
+#define MSG_CONTRAST                        "LCD контраст"
+#define MSG_STORE_EPROM                     "Запази в EPROM"
+#define MSG_LOAD_EPROM                      "Зареди от EPROM"
+#define MSG_RESTORE_FAILSAFE                "Фабрични настройки"
+#define MSG_REFRESH                         LCD_STR_REFRESH "Обнови"
+#define MSG_WATCH                           "Преглед"
+#define MSG_PREPARE                         "Действия"
+#define MSG_TUNE                            "Настройка"
+#define MSG_PAUSE_PRINT                     "Пауза"
+#define MSG_RESUME_PRINT                    "Възобнови печата"
+#define MSG_STOP_PRINT                      "Спри печата"
+#define MSG_CARD_MENU                       "Меню карта"
+#define MSG_NO_CARD                         "Няма карта"
+#define MSG_DWELL                           "Почивка..."
+#define MSG_USERWAIT                        "Изчакване"
+#define MSG_RESUMING                        "Продълж. печата"
+#define MSG_PRINT_ABORTED                   "Печатът е прекъснат"
+#define MSG_NO_MOVE                         "Няма движение"
+#define MSG_KILLED                          "УБИТО."
+#define MSG_STOPPED                         "СПРЯНО."
+#define MSG_CONTROL_RETRACT                 "Откат mm"
+#define MSG_CONTROL_RETRACT_SWAP            "Смяна Откат mm"
+#define MSG_CONTROL_RETRACTF                "Откат  V"
+#define MSG_CONTROL_RETRACT_ZLIFT           "Скок mm"
+#define MSG_CONTROL_RETRACT_RECOVER         "Възврат +mm"
+#define MSG_CONTROL_RETRACT_RECOVER_SWAP    "Смяна Възврат +mm"
+#define MSG_CONTROL_RETRACT_RECOVERF        "Възврат  V"
+#define MSG_AUTORETRACT                     "Автоoткат"
+#define MSG_FILAMENTCHANGE                  "Смяна нишка"
+#define MSG_INIT_SDCARD                     "Иниц. SD-Карта"
+#define MSG_CNG_SDCARD                      "Смяна SD-Карта"
+#define MSG_ZPROBE_OUT                      "Z-сондата е извадена"
+#define MSG_POSITION_UNKNOWN                "Задайте X/Y преди Z"
+#define MSG_ZPROBE_ZOFFSET                  "Z Отстояние"
+#define MSG_BABYSTEP_X                      "Министъпка X"
+#define MSG_BABYSTEP_Y                      "Министъпка Y"
+#define MSG_BABYSTEP_Z                      "Министъпка Z"
+#define MSG_ENDSTOP_ABORT                   "Стоп Кр.Изключватели"
+#define MSG_END_HOUR                        "часа"
+#define MSG_END_MINUTE                      "минути"
+ 
+#ifdef DELTA_CALIBRATION_MENU
+    #define MSG_DELTA_CALIBRATE             "Делта Калибровка"
+    #define MSG_DELTA_CALIBRATE_X           "Калибровка X"
+    #define MSG_DELTA_CALIBRATE_Y           "Калибровка Y"
+    #define MSG_DELTA_CALIBRATE_Z           "Калибровка Z"
+    #define MSG_DELTA_CALIBRATE_CENTER      "Калибровка Център"
+#endif // DELTA_CALIBRATION_MENU
+ 
+#endif // LANGUAGE_BG_H