When it comes to picking a GPT model, it’s not very clear-cut which model you should use. The naming conventions of the models is pretty confusing to new users. Here is a cheat sheet describing how ChatGPT names its models, and which ones you should be using for your task. (Or you can just jump to the TLDR)

Naming Convention
Each model starts with the model name, followed by its version number.
Model Name | What to use it for | Examples |
---|---|---|
GPT | General purpose | GPT-4.1, GPT-4o, GPT-3.5 |
o | Reasoning | o4, o3, o1 |
DALL-E | Image generation | DALL-E 2 DALL-E 3 |
Pro Tip: The o in GPT-4o stands for “omni”, which indicates it is multimodal (can handle text, vision, audio, etc…).
This should not be confused with the o models that are used for reasoning.
Optionally, models may have a suffix.
Suffix | Meaning |
---|---|
mini | Faster and less cost at the cost of precision |
nano | Even faster and even more cost efficient than (at an even greater loss of precision though) |
Turbo | Fine tuned models (often with larger context sizes) |
Preview | The newest models. You can think of these are betas. Newer does not always mean they perform better! |
You may also notice that some models have a 16k (or similar number + k). This represents the model’s context window.
Some older models also have a date appended to them, representing when it was trained (ie. -0613 indicates the model was trained on June 13).
TLDR
For general purpose stuff, you probably want 4o-mini (or GPT-4o if you need the intelligence boost from it).
For vibe coding, you probably want o3-mini or o3.
OpenAI has also published a model comparison page that breaks all of this down even more.