diff --git a/lib/ffi.dart b/lib/ffi.dart
index e66c090..e4e19ef 100644
--- a/lib/ffi.dart
+++ b/lib/ffi.dart
@@ -5,5 +5,6 @@
 export 'src/allocation.dart' show calloc, malloc;
 export 'src/arena.dart';
 export 'src/c_type.dart';
+export 'src/objective_c.dart';
 export 'src/utf8.dart';
 export 'src/utf16.dart';
diff --git a/lib/src/objective_c.dart b/lib/src/objective_c.dart
new file mode 100644
index 0000000..7a41584
--- /dev/null
+++ b/lib/src/objective_c.dart
@@ -0,0 +1,30 @@
+// Copyright (c) 2022, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/// This library defines [NativeType]s for some core Objective C types.
+
+import 'dart:ffi';
+
+/// The Objective C `NSObject` type.
+///
+/// `NSObject` is always passed around by pointer, so use `Pointer<ObjCObject>`.
+/// The `id` type also maps to `Pointer<ObjCObject>`.
+class ObjCObject extends Opaque {}
+
+/// The Objective C `Class` type.
+///
+/// `Class` is always passed around by pointer, so use `Pointer<ObjCClass>`.
+class ObjCClass extends ObjCObject {}
+
+/// The Objective C `Block` type.
+///
+/// `Block` is always passed around by pointer, so use `Pointer<ObjCBlock>`. The
+/// type parameter describes the call signature of the `Block`.
+class ObjCBlock<F extends Function> extends ObjCObject {}
+
+/// The implementation of the Objective C `SEL` type.
+///
+/// This type is not used directly. Instead, the `SEL` type maps to
+/// `Pointer<ObjCSel>`.
+class ObjCSel extends Opaque {}
diff --git a/test/objective_c_test.dart b/test/objective_c_test.dart
new file mode 100644
index 0000000..6f267b3
--- /dev/null
+++ b/test/objective_c_test.dart
@@ -0,0 +1,30 @@
+// Copyright (c) 2022, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:ffi';
+
+import 'package:ffi/ffi.dart';
+import 'package:test/test.dart';
+
+void main() {
+  test('ObjCObject', () {
+    expect(Pointer<ObjCObject>.fromAddress(0), isA<Pointer<Opaque>>());
+  });
+
+  test('ObjCClass', () {
+    expect(Pointer<ObjCClass>.fromAddress(0), isA<Pointer<ObjCObject>>());
+  });
+
+  test('ObjCBlock', () {
+    expect(Pointer<ObjCBlock<int Function(String)>>.fromAddress(0),
+        isA<Pointer<ObjCObject>>());
+    expect(Pointer<ObjCBlock<int Function(String)>>.fromAddress(0),
+        isNot(isA<Pointer<ObjCBlock<String Function(int, int)>>>()));
+  });
+
+  test('ObjCSel', () {
+    expect(Pointer<ObjCSel>.fromAddress(0), isA<Pointer<Opaque>>());
+    expect(Pointer<ObjCSel>.fromAddress(0), isNot(isA<Pointer<ObjCObject>>()));
+  });
+}
