![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
Vibe coding, sometimes spelled vibecoding, is an AI-dependent computer programming practice where a programmer describes a problem in a few sentences as a prompt to a large language model tuned for coding. Software can be quickly created and debugged while ignoring the details of the generated code. [1] [2] [3] Vibe coding is claimed by its advocates to allow even amateur programmers to produce software without the extensive training and skills which coding previously needed. [4] The term was introduced by Andrej Karpathy in February 2025. [5] [2] [4] [1]
Computer scientist Andrej Karpathy, a co-founder of OpenAI and former AI leader at Tesla, coined the term in February 2025. [2] [4] [1] Vibe coding is a new coding style that builds on AI tools. A programmer can describe a program in words and get an AI tool to generate working code, without requiring an understanding of the code. [1] He described how he interacts with the AI passively, by talking to the AI using voice recognition technology such as SuperWhisper, and allowing the AI to deal with all the details. Karpathy says he surrenders to the "vibes" of the AI and accepts its "exponential" power, while ignoring the details of the generated code. [2] For example, he asks the AI to perform tasks such as including padding on a sidebar. When errors arise, he simply copies them into the system without further explanation. He said, "It's not really coding - I just see things, say things, run things, and copy-paste things, and it mostly works." [4] Karpathy concedes that vibe coding is imperfect: sometimes AI tools cannot repair bugs, and then he must make changes until the problem is resolved. [2]
A key part of the definition of vibe coding is that the user accepts code without full understanding. [1] AI researcher Simon Willison said: "If an LLM wrote every line of your code, but you've reviewed, tested, and understood it all, that's not vibe coding in my book—that's using an LLM as a typing assistant." [1]
Vibe coding relies on AI tools such as Replit Agent, Cursor Composer, Pythagora, Bolt, Lovable, and Cline, [3] [6] that build on large language models from companies including OpenAI or Anthropic. [4]
Journalist Kevin Roose, who says he can't write a single line of code, used vibe coding to create several pieces of software. [3] He described these as "software for one", small, specific pieces of code to solve problems in his life, such as analyzing the contents of his fridge to suggest items for a packed lunch. Their features are limited and may not work completely. Still, he described vibe coding as a "mind-blowing experience" akin to how he felt after first using ChatGPT. Roose describes vibe coding as a process where programmers can describe a problem in a few sentences, then watch as the AI model works to program a custom tool to address the problem. [3] Vibe coding may feel like sorcery to those who are not programmers. [3] Roose described some situations where vibe coding failed, such as the AI inventing fake reviews in a website for a shop. [3] Roose described the best use of vibe coding for hobby tasks rather than essential ones. [3] Roose observes that what's notable about vibe coding is that amateurs can build software that hitherto needed an engineering team. [3]
In February 2025, Business Insider described vibe coding as a new buzzword in Silicon Valley. [4]
In a March 2025 video "Vibe Coding is the Future", managing partner Jared Friedman said that AI has generated 95% of the codebases for a quarter of the current batch of Y Combinator startups. [7]
Vibe coding has raised concerns about understanding and accountability. Developers may use AI-generated code without fully comprehending its functionality, potentially leading to undetected bugs and errors. While this approach may be suitable for prototyping, it is considered by some experts to pose risks in professional settings, where a deep understanding of the code is crucial for debugging and maintenance. Ars Technica cites Simon Willison, who stated: "Vibe coding your way to a production codebase is clearly risky. Most of the work we do as software engineers involves evolving existing systems, where the quality and understandability of the underlying code is crucial." [1]