Statutory Corporate Income Tax Rates - CTS_CIT

Data - OECD


Info

Last observation: A: 2022 (N = 361)

First observation: A: 2000 (N = 376)

Last data update: 02 aoû 2026, 08:57. Last compile: 17 aoû 2026, 23:06

Structure

Ex: Corporate Tax

Germany

Code
CTS_CIT |>
  filter(COU == "DEU") |>
  year_to_enddate() |>
  left_join(CTS_CIT_var$CORP_TAX |>
              setNames(c("CORP_TAX", "Corp_tax")), by = "CORP_TAX") |>
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))

France

Code
CTS_CIT |>
  filter(COU == "FRA") |>
  year_to_enddate() |>
  left_join(CTS_CIT_var$CORP_TAX |>
              setNames(c("CORP_TAX", "Corp_tax")), by = "CORP_TAX") |>
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.65, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))

United States

Code
CTS_CIT |>
  filter(COU == "USA") |>
  year_to_enddate() |>
  left_join(CTS_CIT_var$CORP_TAX |>
              setNames(c("CORP_TAX", "Corp_tax")), by = "CORP_TAX") |>
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.65, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))

Luxembourg

Code
CTS_CIT |>
  filter(COU == "LUX") |>
  year_to_enddate() |>
  left_join(CTS_CIT_var$CORP_TAX |>
              setNames(c("CORP_TAX", "Corp_tax")), by = "CORP_TAX") |>
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.65, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))

Japan

Code
CTS_CIT |>
  filter(COU == "JPN") |>
  year_to_enddate() |>
  left_join(CTS_CIT_var$CORP_TAX |>
              setNames(c("CORP_TAX", "Corp_tax")), by = "CORP_TAX") |>
  ggplot() + theme_minimal() + ylab("Corporate Tax Rate (%)") + xlab("") +
  geom_line(aes(x = date, y = obsValue/100, color = Corp_tax)) +
  scale_color_manual(values = viridis(6)[1:5]) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.65, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 60, 5),
                     labels = percent_format(accuracy = 1),
                     limits = c(0, 0.6))