Tạo ảnh code đẹp online
Biến mã nguồn thành ảnh đẹp như carbon.now.sh: tô màu cú pháp cho 29 ngôn ngữ, 9 giao diện màu, khung cửa sổ, số dòng, tô sáng dòng.
Kết quả
Bấm “Chạy” để xem kết quả.
Gửi code và nhận ảnh đoạn code trong khung cửa sổ kiểu macOS, sẵn sàng cho bài blog, slide, bài đăng mạng xã hội hay tin nhắn Zalo / Slack. Tô màu cú pháp dùng highlight.js (BSD-3) với 29 ngôn ngữ được nạp riêng từng cái (JavaScript, TypeScript, Python, Java, C, C++, C#, Go, Rust, PHP, Ruby, Swift, Kotlin, Dart, SQL, Bash, Shell, PowerShell, JSON, YAML, HTML / XML, CSS, SCSS, Markdown, Dockerfile, diff, INI / TOML, Lua, văn bản thường) và tự nhận diện với language=auto. Giao diện màu: dracula (mặc định), monokai, one-dark, github-dark, github-light, nord, night-owl, vscode-dark, solarized-light.
Tùy chọn: title trên thanh cửa sổ, window=false để bỏ khung, line_numbers=true cùng first_line, highlight_lines=3,5-7, font_size, line_height, tab_size, lề ngoài padding với màu background hoặc gradient chéo (background2), shadow, và max_columns (dòng dài hơn bị cắt). Chữ được vẽ từ đường nét phông JetBrains Mono (SIL OFL) có đủ tiếng Việt, nên chú thích như // Tính tổng hiển thị đúng dấu; ký tự không có trong phông nhúng (emoji, chữ Hán…) để trống kèm cảnh báo.
Định dạng: png (mặc định, scale 2 cho màn hình retina), svg (vector, ký tự là đường nét nên hiển thị giống nhau ở mọi nơi) hoặc json (SVG + PNG base64). Không dùng trình duyệt headless; tối đa 400 dòng.
Dùng trong code của bạn
curl -X POST "https://apibox.io.vn/v1/code-image" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"code":"const sum = (a, b) => a + b;\nconsole.log(sum(2, 3)); // 5","language":"javascript","format":"json"}'const res = await fetch('https://apibox.io.vn/v1/code-image', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"code": "const sum = (a, b) => a + b;\nconsole.log(sum(2, 3)); // 5",
"language": "javascript",
"format": "json"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/code-image",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"code": "const sum = (a, b) => a + b;\nconsole.log(sum(2, 3)); // 5", "language": "javascript", "format": "json"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/code-image');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"code":"const sum = (a, b) => a + b;\\nconsole.log(sum(2, 3)); // 5","language":"javascript","format":"json"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
Có dùng phông hay giao diện màu riêng được không?
Hiện chưa: ảnh luôn dùng JetBrains Mono và một trong 9 giao diện có sẵn để kết quả giống nhau ở mọi nơi. Bạn đổi được nền bên ngoài và tiêu đề cửa sổ.
Ngôn ngữ được nhận diện thế nào?
Với language=auto, highlight.js chấm điểm đoạn code theo các ngôn ngữ đã nạp và chọn ngôn ngữ khớp nhất; kết quả cho biết ngôn ngữ đã chọn. Đoạn code ngắn nên ghi rõ language.
Vì sao emoji bị thiếu?
Phông nhúng chỉ gồm chữ Latin (có tiếng Việt), Hy Lạp, ký hiệu, khung kẻ và ký hiệu toán. Ký tự thiếu được để trống và có cảnh báo khi dùng format=json.