diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp
index 3703064f07572fd48226a82db344dd505ca34b6a..550d0f97474631d9d37fd9ee55b55ed18c45ebf9 100644
--- a/source/App/EncoderApp/EncAppCfg.cpp
+++ b/source/App/EncoderApp/EncAppCfg.cpp
@@ -229,6 +229,9 @@ strToLevel[] =
   {"6",   Level::LEVEL6},
   {"6.1", Level::LEVEL6_1},
   {"6.2", Level::LEVEL6_2},
+#if JVET_T0065_LEVEL_6_3
+  {"6.3", Level::LEVEL6_3},
+#endif
   {"15.5", Level::LEVEL15_5},
 };
 
@@ -484,8 +487,16 @@ static uint32_t getMaxTileColsByLevel( Level::Name level )
     case Level::LEVEL6:
     case Level::LEVEL6_1:
     case Level::LEVEL6_2:
+#if !JVET_T0065_LEVEL_6_3
     default:
+#endif
       return 20;
+#if JVET_T0065_LEVEL_6_3
+    case Level::LEVEL6_3:
+      return 30;
+    default:
+      return MAX_TILE_COLS;
+#endif
   }
 }
 
@@ -511,8 +522,16 @@ static uint32_t getMaxTileRowsByLevel( Level::Name level )
     case Level::LEVEL6:
     case Level::LEVEL6_1:
     case Level::LEVEL6_2:
+#if !JVET_T0065_LEVEL_6_3
     default:
+#endif
       return 22;
+#if JVET_T0065_LEVEL_6_3
+    case Level::LEVEL6_3:
+      return 33;
+    default:
+      return MAX_TILES / MAX_TILE_COLS;
+#endif
   }
 }
 
@@ -539,8 +558,16 @@ static uint32_t getMaxSlicesByLevel( Level::Name level )
     case Level::LEVEL6:
     case Level::LEVEL6_1:
     case Level::LEVEL6_2:
+#if !JVET_T0065_LEVEL_6_3
     default:
+#endif
       return 600;
+#if JVET_T0065_LEVEL_6_3
+    case Level::LEVEL6_3:
+      return 1000;
+    default:
+      return MAX_SLICES;
+#endif
   }
 }
 
diff --git a/source/Lib/CommonLib/CommonDef.h b/source/Lib/CommonLib/CommonDef.h
index bcd8e803b2925f4717614595b96384b68b9fcb0c..edcdceedeeb36aac9ab55ad7432062c3402e75f8 100644
--- a/source/Lib/CommonLib/CommonDef.h
+++ b/source/Lib/CommonLib/CommonDef.h
@@ -216,9 +216,16 @@ static const int MAX_NUM_APS =                                     32;  //Curren
 static const int NUM_APS_TYPE_LEN =                                 3;  //Currently APS Type has 3 bits
 static const int MAX_NUM_APS_TYPE =                                 8;  //Currently APS Type has 3 bits so the max type is 8
 
+#if JVET_T0065_LEVEL_6_3
+static constexpr int MAX_TILE_COLS = 30;   // Maximum number of tile columns
+static constexpr int MAX_TILES     = 990;  // Maximum number of tiles
+static constexpr int MAX_SLICES    = 1000; // Maximum number of slices per picture
+
+#else
 static const int MAX_TILE_COLS =                                   20;  ///< Maximum number of tile columns
 static const int MAX_TILES =                                      440;  ///< Maximum number of tiles
 static const int MAX_SLICES =                                     600;  ///< Maximum number of slices per picture
+#endif
 static const int MLS_GRP_NUM =                                   1024; ///< Max number of coefficient groups, max(16, 256)
 
 static const int MLS_CG_SIZE =                                      4; ///< Coefficient group size of 4x4; = MLS_CG_LOG2_WIDTH + MLS_CG_LOG2_HEIGHT
diff --git a/source/Lib/CommonLib/ProfileLevelTier.cpp b/source/Lib/CommonLib/ProfileLevelTier.cpp
index 1e36b7d017ad6f430e1faf6071476d0de3bed85c..a277b36b9f9e262068c4d2419979f5f520e77624 100644
--- a/source/Lib/CommonLib/ProfileLevelTier.cpp
+++ b/source/Lib/CommonLib/ProfileLevelTier.cpp
@@ -70,6 +70,9 @@ static const LevelTierFeatures mainLevelTierInfo[] =
     { Level::LEVEL6  , 35651584, {    80000,   240000 },      600,      440,       20, 1069547520ULL, {   60000,   240000 }, { 8, 4} },
     { Level::LEVEL6_1, 35651584, {   120000,   480000 },      600,      440,       20, 2139095040ULL, {  120000,   480000 }, { 8, 4} },
     { Level::LEVEL6_2, 35651584, {   180000,   800000 },      600,      440,       20, 4278190080ULL, {  240000,   800000 }, { 8, 4} },
+#if JVET_T0065_LEVEL_6_3
+    { Level::LEVEL6_3, 80216064, {   240000,   800000 },     1000,      990,       30, 4812963840ULL, {  320000,   800000 }, { 8, 4} },
+#endif
     { Level::LEVEL15_5, MAX_UINT,{ MAX_UINT, MAX_UINT }, MAX_UINT, MAX_UINT, MAX_UINT, MAX_CNFUINT64, {MAX_UINT, MAX_UINT }, { 0, 0} },
     { Level::NONE    }
 };
diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index d4269b0dd6cb2b97c81cdf3967af1bd2ac42d90c..6c7511491b2464782125c2b1e8bc7a842a4f4a36 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -58,6 +58,7 @@
 #define JVET_S0219_ASPECT1                                1 // JVET-S0219 aspect1 : removal non-referred APS parameter set in the non-output layer.
 #define JVET_R0193                                        1 // JVET-R0193: signalling of the number of maximum sublayers used for inter-layer prediction for each layer
 #define JVET_R0193_S0141                                  1 // JVET-S0141 item 47 : item 47: In the general sub-bitstream extraction process, specify the conditions under which an output sub-bitstream is required to be a conforming bitstream such that the value of tIdTarget is specified to be in the range of 0 to vps_ptl_max_tid[ vps_ols_ptl_idx[ targetOlsIdx ] ], inclusive (instead of 0 to 6 inclusive). (JVET-S0158 aspect 1)
+#define JVET_T0065_LEVEL_6_3                              1 // JVET-T0065: Add level 6.3
 #define JVET_T0091_LMCS_ENC_OVERFLOW_FIX                  1 // JVET-T0091: LMCS encoder overflow fix at high bit-depth for SDR
 #define JVET_S0163_ON_TARGETOLS_SUBLAYERS                 1 // JVET-S0163: On target OLS and sublayers for decoding (OPI NAL Unit)
 #define JVET_R0266_GCI                                    1 // JVET-R0266 #5: Specify that no_gdr_constraint_flag equal to 1 specifies that sps_gdr_enabled_flag shall be equal to 0
@@ -721,6 +722,9 @@ namespace Level
     LEVEL6   = 96,
     LEVEL6_1 = 99,
     LEVEL6_2 = 102,
+#if JVET_T0065_LEVEL_6_3
+    LEVEL6_3 = 105,
+#endif
     LEVEL15_5 = 255,
   };
 }