Hacker ApprovedDepartments

C2Rust

Ranked 6 of 6 transpilers by recommenders

Recommended for converting a C codebase to Rust that builds with the Rust toolchain and matches the original's behavior. Caveat: output is verbose, heavily unsafe, and hard to work on.

Recommended for converting a C codebase to Rust that builds with the Rust toolchain and matches the original's behavior. Caveat: output is verbose, heavily unsafe, and hard to work on.

17 people gave an opinion

recommend it
6
criticize it
11
approval share
35%
Each figure is one person. RecommendsCriticizes

Recommended in 3 of 13 months

  1. November 2025: recommended
  2. December 2025: not recommended
  3. January 2026: not recommended
  4. February 2026: not recommended
  5. March 2026: not recommended
  6. April 2026: not recommended
  7. May 2026: recommended
  8. June 2026: not recommended
  9. July 2026: recommended
  10. August 2026: not recommended
  11. September 2026: not recommended
  12. October 2026: not recommended
  13. November 2026: not recommended (month in progress)

Why it doesn’t carry the badge

  • 6 people recommend itNeeds 10 or more, not met.
  • 0.5 recommenders for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 3 of 13 monthsNeeds 4 or more, not met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Behavior-preserving baseline for later work

    “because c2rust does these ugly things exactly to avoid introducing new issues with the more strict Rust semantics.”

    Comment from 16 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

    “You may refer to c2rust to see how semantics preserving transformation without new UBs looks like.”

    Comment from 19 Jul 2026 in “Claude Code uses Bun written in Rust now”

    “It gives you a baseline that is semantically identical to the original codebase”

    Comment from 15 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”
  • Whole codebase builds with Rust toolchain

    “That attempt succeeded in terms of getting working "Rust" code, but any attempt to change any piece to safe rust, would require thousands of changes”

    Comment from 1 Jul 2026 in “The C to Rust migration book”

    “The value of c2rust is that you now have the entire codebase working with the rust toolchain”

    Comment from 16 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

What people warn about

Each mark is one comment

  • Verbose, reads like compiler output

    “what you get out is like compiler output, not something you can work on”

    Comment from 13 Jul 2026 in “Zig Creator Calls Spade a Spade, Anthropic Blows Smoke”

    “These things are full of errors and make the code very verbose and hard to reason about.”

    Comment from 15 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

    “It's more verbose than the original and harder to work on, but no safer.”

    Comment from 15 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”
  • Thousands of changes to make safe

    “That attempt succeeded in terms of getting working "Rust" code, but any attempt to change any piece to safe rust, would require thousands of changes”

    Comment from 1 Jul 2026 in “The C to Rust migration book”

    “any attempt to change any piece to safe rust, would require thousands of changes across codebase”

    Comment from 1 Jul 2026 in “The C to Rust migration book”
  • Mostly unsafe code, little safety gain

    “it literally will convert every pointer access into `unsafe` and 50% of your code will be `unsafe`”

    Comment from 14 Jul 2026 in “Linux 0.11 rewritten in idiomatic Rust, boots in QEMU”

    “It relies on a library of functions which emulate unsafe C pointer semantics with unsafe Rust.”

    Comment from 15 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

    “C2Rust appears to just mark everything as `unsafe` (even when it's completely unnecessary)”

    Comment from 3 Jun 2026 in “Bun Has Been Converted to Rust. Now What?”

Other transpilers people recommend

The four most recommended other transpilers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

C2Rust compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
T-Ruby11665%2——
Eurydice8280%2——
crustc8189%1——
Scala.js70100%6——
C2RustThis page61135%3——
See all 6 transpilers, ranked

What people said

20 of the 21 comments that mention it, newest first. Each links to the original comment.

“You may refer to c2rust to see how semantics preserving transformation without new UBs looks like.”

RecommendsComment from 19 Jul 2026 in “Claude Code uses Bun written in Rust now”

“it literally will convert every pointer access into `unsafe` and 50% of your code will be `unsafe`”

CriticizesComment from 14 Jul 2026 in “Linux 0.11 rewritten in idiomatic Rust, boots in QEMU”

“what you get out is like compiler output, not something you can work on”

MixedComment from 13 Jul 2026 in “Zig Creator Calls Spade a Spade, Anthropic Blows Smoke”

“That attempt succeeded in terms of getting working "Rust" code, but any attempt to change any piece to safe rust, would require thousands of changes”

MixedComment from 1 Jul 2026 in “The C to Rust migration book”

“any attempt to change any piece to safe rust, would require thousands of changes across codebase”

CriticizesComment from 1 Jul 2026 in “The C to Rust migration book”

“C2Rust appears to just mark everything as `unsafe` (even when it's completely unnecessary)”

CriticizesComment from 3 Jun 2026 in “Bun Has Been Converted to Rust. Now What?”

“I don't remember any publicly visible success stories for this though”

CriticizesComment from 2 Jun 2026 in “Announcing Zstandard in Rust”

“isn't particularly helpful if you want it to be safe/ performant code anyway”

CriticizesComment from 27 May 2026 in “Using AI to write better code more slowly”

“It isn't bug-free, and C and Rust's undefined behavior semantics overlap but aren't identical.”

CriticizesComment from 17 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

“The value of c2rust is that you now have the entire codebase working with the rust toolchain”

RecommendsComment from 16 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

“because c2rust does these ugly things exactly to avoid introducing new issues with the more strict Rust semantics.”

RecommendsComment from 16 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

“which is somewhat close to what their port produced... like their goal was from the get to go to have a mostly exactly the same as zig”

CriticizesComment from 15 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

“It's more verbose than the original and harder to work on, but no safer.”

CriticizesComment from 15 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

“It gives you a baseline that is semantically identical to the original codebase”

RecommendsComment from 15 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

“These things are full of errors and make the code very verbose and hard to reason about.”

CriticizesComment from 15 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

“It relies on a library of functions which emulate unsafe C pointer semantics with unsafe Rust.”

CriticizesComment from 15 May 2026 in “Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust"”

“C2Rust is not going to be very idiomatic.”

CriticizesComment from 23 Dec 2025 in “Microsoft to replace all C/C++ code with Rust”

“From what I see, very limited testing of what C can be uplifted.”

CriticizesComment from 3 Nov 2025 on Hacker News

“the c2rust output is rough but not hopeless”

MixedComment from 2 Nov 2025 on Hacker News

“The Rust that comes out reads like compiler output.”

CriticizesComment from 2 Nov 2025 on Hacker News

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.