diff --git a/.bazelrc b/.bazelrc
new file mode 100644
index 0000000..4748ed8
--- /dev/null
+++ b/.bazelrc
@@ -0,0 +1,8 @@
+build --cxxopt=-std=c++17
+build --cxxopt=-fno-rtti
+
+# Enable Abseil/Googletest integration
+build --define absl=1
+
+# Don't fail on converting "0xff" to char
+build --copt=-Wno-narrowing
diff --git a/BUILD.bazel b/BUILD.bazel
new file mode 100644
index 0000000..044dc1f
--- /dev/null
+++ b/BUILD.bazel
@@ -0,0 +1,7 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+licenses(["notice"])
+
+exports_files(["LICENSE"])
diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel
new file mode 100644
index 0000000..620ac8a
--- /dev/null
+++ b/WORKSPACE.bazel
@@ -0,0 +1,87 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+workspace(name = "com_google_quiche")
+
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+# -------- Bazel tooling dependencies --------
+
+http_archive(
+    name = "bazel_skylib",
+    sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728",  # Last updated 2022-05-18
+    urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz"],
+)
+
+# -------- Dependencies used in core QUICHE build --------
+
+http_archive(
+    name = "com_google_absl",
+    sha256 = "44634eae586a7158dceedda7d8fd5cec6d1ebae08c83399f75dd9ce76324de40",  # Last updated 2022-05-18
+    strip_prefix = "abseil-cpp-3e04aade4e7a53aebbbed1a1268117f1f522bfb0",
+    urls = ["https://github.com/abseil/abseil-cpp/archive/3e04aade4e7a53aebbbed1a1268117f1f522bfb0.zip"],
+)
+
+http_archive(
+    name = "com_google_protobuf",
+    sha256 = "8b28fdd45bab62d15db232ec404248901842e5340299a57765e48abe8a80d930",  # Last updated 2022-05-18
+    strip_prefix = "protobuf-3.20.1",
+    urls = ["https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.20.1.tar.gz"],
+)
+
+http_archive(
+    name = "boringssl",
+    sha256 = "482a59ea63d03fbb4d3cab22e40043fb4eef2cbbdc2eb944cd627675ae8b0cf3",  # Last updated 2022-05-18
+    strip_prefix = "boringssl-02c6711efbb6c9dc6236a1c3779af1bcb0274dfd",
+    urls = ["https://github.com/google/boringssl/archive/02c6711efbb6c9dc6236a1c3779af1bcb0274dfd.tar.gz"],
+)
+
+http_archive(
+    name = "com_google_quic_trace",
+    sha256 = "079331de8c3cbf145a3b57adb3ad4e73d733ecfa84d3486e1c5a9eaeef286549",  # Last updated 2022-05-18
+    strip_prefix = "quic-trace-c7b993eb750e60c307e82f75763600d9c06a6de1",
+    urls = ["https://github.com/google/quic-trace/archive/c7b993eb750e60c307e82f75763600d9c06a6de1.tar.gz"],
+)
+
+http_archive(
+    name = "com_google_googleurl",
+    sha256 = "a1bc96169d34dcc1406ffb750deef3bc8718bd1f9069a2878838e1bd905de989",
+    urls = ["https://storage.googleapis.com/quiche-envoy-integration/googleurl_9cdb1f4d1a365ebdbcbf179dadf7f8aa5ee802e7.tar.gz"],
+)
+
+http_archive(
+    name = "zlib",
+    build_file = "//build:zlib.BUILD",
+    sha256 = "d8688496ea40fb61787500e863cc63c9afcbc524468cedeb478068924eb54932",  # Last updated 2022-05-18
+    strip_prefix = "zlib-1.2.12",
+    urls = ["https://github.com/madler/zlib/archive/refs/tags/v1.2.12.tar.gz"],
+)
+
+# -------- Dependencies used by QUICHE tests and extra tooling --------
+
+http_archive(
+    name = "com_google_googletest",
+    sha256 = "7ee83802222f9392452c57b4757185697a51639b69b64590f2c2188f58618581",  # Last updated 2022-05-18
+    strip_prefix = "googletest-8d51dc50eb7e7698427fed81b85edad0e032112e",
+    urls = ["https://github.com/google/googletest/archive/8d51dc50eb7e7698427fed81b85edad0e032112e.zip"],
+)
+
+# Note this must use a commit from the `abseil` branch of the RE2 project.
+# https://github.com/google/re2/tree/abseil
+http_archive(
+    name = "com_googlesource_code_re2",
+    sha256 = "906d0df8ff48f8d3a00a808827f009a840190f404559f649cb8e4d7143255ef9",
+    strip_prefix = "re2-a276a8c738735a0fe45a6ee590fe2df69bcf4502",
+    urls = ["https://github.com/google/re2/archive/a276a8c738735a0fe45a6ee590fe2df69bcf4502.zip"],  # 2022-04-08
+)
+
+# -------- Load and call dependencies of underlying libraries --------
+
+load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
+
+bazel_skylib_workspace()
+
+load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
+
+protobuf_deps()
diff --git a/build/BUILD.bazel b/build/BUILD.bazel
new file mode 100644
index 0000000..0ba41e4
--- /dev/null
+++ b/build/BUILD.bazel
@@ -0,0 +1,7 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+licenses(["notice"])
+
+exports_files(["source_list.json"])
diff --git a/build/test.bzl b/build/test.bzl
new file mode 100644
index 0000000..9beb0ca
--- /dev/null
+++ b/build/test.bzl
@@ -0,0 +1,26 @@
+"""Tools for building QUICHE tests."""
+
+load("@bazel_skylib//lib:paths.bzl", "paths")
+
+def test_suite_from_source_list(name, srcs, **kwargs):
+    """
+    Generates a test target for every individual test source file specified.
+
+    Args:
+        name: the name of the resulting test_suite target.
+        srcs: the list of source files from which the test targets are generated.
+        **kwargs: other arguments that are passed to the cc_test rule directly.s
+    """
+
+    tests = []
+    for sourcefile in srcs:
+        if not sourcefile.endswith("_test.cc"):
+            fail("All source files passed to test_suite_from_source_list() must end with _test.cc")
+        test_name, _ = paths.split_extension(paths.basename(sourcefile))
+        native.cc_test(
+            name = test_name,
+            srcs = [sourcefile],
+            **kwargs
+        )
+        tests.append(test_name)
+    native.test_suite(name = name, tests = tests)
diff --git a/build/zlib.BUILD b/build/zlib.BUILD
new file mode 100644
index 0000000..61a5507
--- /dev/null
+++ b/build/zlib.BUILD
@@ -0,0 +1,25 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+licenses(["notice"])
+
+cc_library(
+    name = "zlib",
+    srcs = glob(
+        include = [
+            "*.c",
+            "*.h",
+        ],
+        exclude = [
+            "zlib.h",
+            "zconf.h",
+        ],
+    ),
+    hdrs = [
+        "zconf.h",
+        "zlib.h",
+    ],
+    copts = ["-Wno-implicit-function-declaration"],
+    visibility = ["//visibility:public"],
+)
diff --git a/quiche/BUILD.bazel b/quiche/BUILD.bazel
new file mode 100644
index 0000000..6650f84
--- /dev/null
+++ b/quiche/BUILD.bazel
@@ -0,0 +1,270 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+load(
+    "//build:source_list.bzl",
+    "default_platform_impl_hdrs",
+    "default_platform_impl_srcs",
+    "default_platform_impl_test_support_hdrs",
+    "default_platform_impl_test_support_srcs",
+    "default_platform_impl_tool_support_hdrs",
+    "default_platform_impl_tool_support_srcs",
+    "quiche_core_hdrs",
+    "quiche_core_srcs",
+    "quiche_test_support_hdrs",
+    "quiche_test_support_srcs",
+    "quiche_tests_srcs",
+    "quiche_tool_support_hdrs",
+    "quiche_tool_support_srcs",
+)
+load("//build:test.bzl", "test_suite_from_source_list")
+
+licenses(["notice"])
+
+package(
+    default_visibility = ["//visibility:private"],
+    features = [
+        "parse_headers",
+        "layering_check",
+    ],
+)
+
+cc_library(
+    name = "quic_flags_list",
+    textual_hdrs = [
+        "quic/core/quic_flags_list.h",
+        "quic/core/quic_protocol_flags_list.h",
+    ],
+)
+
+# QUICHE_EXPORT is used by all platform definitions, and thus needs to be handled separately.
+cc_library(
+    name = "quiche_platform_default_quiche_export",
+    hdrs = [
+        "common/platform/default/quiche_platform_impl/quiche_export_impl.h",
+    ],
+    strip_include_prefix = "common/platform/default",
+)
+
+cc_library(
+    name = "quiche_platform_quiche_export",
+    hdrs = [
+        "common/platform/api/quiche_export.h",
+    ],
+    deps = [":quiche_platform_default_quiche_export"],
+)
+
+cc_library(
+    name = "quiche_platform_default",
+    srcs = default_platform_impl_srcs,
+    hdrs = default_platform_impl_hdrs,
+    strip_include_prefix = "common/platform/default",
+    deps = [
+        ":quic_flags_list",
+        ":quiche_platform_quiche_export",
+        "@com_google_absl//absl/base:core_headers",
+        "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/container:flat_hash_set",
+        "@com_google_absl//absl/debugging:stacktrace",
+        "@com_google_absl//absl/debugging:symbolize",
+        "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/strings:str_format",
+        "@com_google_absl//absl/synchronization",
+        "@com_google_absl//absl/time",
+        "@com_google_absl//absl/types:optional",
+        "@com_google_googleurl//url",
+    ],
+)
+
+cc_library(
+    name = "quiche_platform_default_tools",
+    srcs = default_platform_impl_tool_support_srcs,
+    hdrs = default_platform_impl_tool_support_hdrs,
+    strip_include_prefix = "common/platform/default",
+    deps = [
+        ":quiche_core",
+        "@com_google_absl//absl/flags:flag",
+        "@com_google_absl//absl/flags:parse",
+        "@com_google_absl//absl/flags:usage",
+        "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/types:optional",
+        "@com_google_googletest//:gtest",
+    ],
+)
+
+cc_library(
+    name = "quiche_platform_default_testonly",
+    testonly = 1,
+    srcs = default_platform_impl_test_support_srcs,
+    hdrs = default_platform_impl_test_support_hdrs,
+    strip_include_prefix = "common/platform/default",
+    deps = [
+        ":quiche_core",
+        "@com_google_absl//absl/flags:flag",
+        "@com_google_absl//absl/flags:parse",
+        "@com_google_absl//absl/flags:usage",
+        "@com_google_googletest//:gtest",
+    ],
+)
+
+proto_library(
+    name = "quiche_protobufs",
+    srcs = [
+        "quic/core/proto/cached_network_parameters.proto",
+        "quic/core/proto/crypto_server_config.proto",
+        "quic/core/proto/source_address_token.proto",
+    ],
+)
+
+cc_proto_library(
+    name = "quiche_protobufs_cc_proto",
+    deps = [":quiche_protobufs"],
+)
+
+proto_library(
+    name = "quiche_protobufs_testonly",
+    srcs = [
+        "quic/test_tools/send_algorithm_test_result.proto",
+    ],
+)
+
+cc_proto_library(
+    name = "quiche_protobufs_testonly_cc_proto",
+    deps = [":quiche_protobufs_testonly"],
+)
+
+cc_library(
+    name = "quiche_core",
+    srcs = quiche_core_srcs,
+    hdrs = quiche_core_hdrs,
+    textual_hdrs = ["http2/hpack/hpack_static_table_entries.inc"],
+    deps = [
+        ":quiche_platform_default",
+        ":quiche_protobufs_cc_proto",
+        "@boringssl//:crypto",
+        "@boringssl//:ssl",
+        "@com_google_absl//absl/algorithm:container",
+        "@com_google_absl//absl/base:core_headers",
+        "@com_google_absl//absl/container:btree",
+        "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/container:flat_hash_set",
+        "@com_google_absl//absl/container:inlined_vector",
+        "@com_google_absl//absl/container:node_hash_map",
+        "@com_google_absl//absl/hash",
+        "@com_google_absl//absl/memory",
+        "@com_google_absl//absl/numeric:int128",
+        "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/strings:str_format",
+        "@com_google_absl//absl/types:optional",
+        "@com_google_absl//absl/types:span",
+        "@com_google_googleurl//url",
+        "@com_google_quic_trace//quic_trace:quic_trace_cc_proto",
+        "@zlib",
+    ],
+)
+
+cc_library(
+    name = "quiche_tool_support",
+    srcs = quiche_tool_support_srcs,
+    hdrs = quiche_tool_support_hdrs,
+    deps = [
+        ":quiche_core",
+        ":quiche_platform_default_tools",
+        "@boringssl//:crypto",
+        "@com_google_absl//absl/base:core_headers",
+        "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/container:flat_hash_set",
+        "@com_google_absl//absl/memory",
+        "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/strings:str_format",
+        "@com_google_absl//absl/types:optional",
+        "@com_google_googletest//:gtest",
+        "@com_google_googleurl//url",
+    ],
+)
+
+cc_library(
+    name = "quiche_test_support",
+    testonly = 1,
+    srcs = quiche_test_support_srcs,
+    hdrs = quiche_test_support_hdrs,
+    deps = [
+        ":quiche_core",
+        ":quiche_platform_default_testonly",
+        ":quiche_protobufs_testonly_cc_proto",
+        ":quiche_tool_support",
+        "@boringssl//:crypto",
+        "@boringssl//:ssl",
+        "@com_google_absl//absl/base:core_headers",
+        "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/container:flat_hash_set",
+        "@com_google_absl//absl/memory",
+        "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/strings:str_format",
+        "@com_google_absl//absl/types:optional",
+        "@com_google_googletest//:gtest",
+    ],
+)
+
+test_suite_from_source_list(
+    name = "quiche_tests",
+    srcs = quiche_tests_srcs,
+    data = glob([
+        "common/platform/api/testdir/**",
+        "quic/test_tools/quic_http_response_cache_data/**",
+    ]),
+    deps = [
+        ":quiche_core",
+        ":quiche_platform_default_testonly",
+        ":quiche_protobufs_testonly_cc_proto",
+        ":quiche_test_support",
+        ":quiche_tool_support",
+        "@boringssl//:crypto",
+        "@boringssl//:ssl",
+        "@com_google_absl//absl/algorithm:container",
+        "@com_google_absl//absl/base:core_headers",
+        "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/container:flat_hash_set",
+        "@com_google_absl//absl/container:node_hash_map",
+        "@com_google_absl//absl/functional:bind_front",
+        "@com_google_absl//absl/hash",
+        "@com_google_absl//absl/memory",
+        "@com_google_absl//absl/numeric:int128",
+        "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/strings:str_format",
+        "@com_google_absl//absl/types:optional",
+        "@com_google_googletest//:gtest_main",
+    ],
+)
+
+# TODO(vasilvv): make a rule that generates cc_binary rules for all _bin targets.
+cc_binary(
+    name = "quic_packet_printer",
+    srcs = ["quic/tools/quic_packet_printer_bin.cc"],
+    deps = [
+        ":quiche_core",
+        ":quiche_tool_support",
+        "@com_google_absl//absl/strings",
+    ],
+)
+
+# Indicate that QUICHE APIs are explicitly unstable by providing only
+# appropriately named aliases as publicly visible targets.
+alias(
+    name = "quiche_unstable_api",
+    actual = ":quiche_core",
+    visibility = ["//visibility:public"],
+)
+
+alias(
+    name = "quiche_unstable_api_tool_support",
+    actual = ":quiche_tool_support",
+    visibility = ["//visibility:public"],
+)
+
+alias(
+    name = "quiche_unstable_api_test_support",
+    actual = ":quiche_test_support",
+    visibility = ["//visibility:public"],
+)
