SupaVoxel
Định dạng file 3D

STL vs OBJ: nên dùng định dạng nào?

Chọn STL khi bạn chỉ cần một hình khối in được, và chọn OBJ khi mô hình có UV, texture hoặc màu sắc. Mọi slicer đều mở được cả hai, và bạn có thể chuyển đổi miễn phí.

  • Kích thước file đo thực tế
  • Đã kiểm tra cách slicer xử lý
  • Trình xem và chuyển đổi miễn phí
Đã cập nhật tháng 10 năm 2026

STL vs OBJ: câu trả lời ngắn gọn

Đối với in 3D một màu, STL là lựa chọn mặc định an toàn hơn: đây là định dạng lưới lâu đời nhất và được hỗ trợ rộng rãi nhất, chỉ lưu tam giác nên slicer không có gì để đọc sai. Chọn OBJ khi cùng một file còn phải hiển thị đúng trên màn hình, trong Blender, game engine hoặc trình render, vì OBJ giữ tọa độ texture (UV), pháp tuyến đỉnh và liên kết tới file vật liệu.

Lựa chọn STL vs OBJ thực chất là câu hỏi bạn cần gì sống sót qua bước xuất file. Chỉ hình dạng? STL. Hình dạng kèm bề mặt hiển thị? OBJ. Nếu bạn cần màu ngay trên máy in, cả hai đều không lý tưởng: hãy dùng 3MF, định dạng mà slicer đọc như các chỉ định nhựa in.

Cả hai định dạng đều có hai cái bẫy. Chúng không có trường đơn vị, nên mô hình có thể về nhỏ hơn 25.4 lần (lưu bằng inch) hoặc nhỏ hơn 1,000 lần (lưu bằng mét). Và cả hai đều là lưới tam giác thuần, nên đường cong đã bị chia thành mặt phẳng; không định dạng nào giữ được bề mặt CAD chính xác như file STEP.

Bảng so sánh STL vs OBJ

Mỗi định dạng có thể và không thể chứa gì, theo mô tả định dạng và cách các công cụ hiện nay thực sự đọc chúng.

STLOBJ
Loại hình họcChỉ tam giác; mỗi tam giác liệt kê 3 đỉnh riêng và một pháp tuyến mặtĐa giác (tam giác, quad, n-gon) với các đỉnh dùng chung, được đánh chỉ mục; đặc tả cũng cho phép đường cong và mặt NURBS, nhưng ít công cụ đọc được
Màu / textureKhông có trong tiêu chuẩn; hai kiểu hack không tương thích của nhà cung cấp lưu màu 15-bit cho mỗi mặtTọa độ UV trong file; màu và ảnh texture được tham chiếu qua file .mtl riêng
Đơn vịKhông có; slicer mặc định là milimétKhông có; ứng dụng nhận quyết định
Vật liệuKhông cóMap diffuse, specular, độ mờ và texture trong .mtl; PBR metal/roughness chỉ qua các phần mở rộng không chính thức
Kích thước fileNhị phân: 84 byte + 50 byte mỗi tam giác. ASCII: lớn hơn khoảng 6 lầnChỉ văn bản; nhỏ hơn STL nhị phân khi chỉ có hình học, lớn hơn khi ghi thêm UV và pháp tuyến
Khả năng chỉnh sửaKhó chỉnh sửa: một mớ tam giác rời rạcDễ hơn: cấu trúc liên kết được giữ, nhóm và quad còn nguyên
Hỗ trợ phần mềmMọi slicer, công cụ CAD và lướiMọi slicer, Blender, Maya, 3ds Max, Unity, Unreal, hầu hết trình xem
Dùng để inMặc định trên thực tế cho in một vật liệuỔn để in; PrusaSlicer bỏ qua vật liệu của nó, Bambu Studio có thể ánh xạ màu sang nhựa in

Bố cục STL nhị phân theo mô tả định dạng: header 80 byte, số lượng tam giác 4 byte, rồi 50 byte mỗi tam giác.

Bên trong file STL và file OBJ có gì

File STL, ra đời năm 1987 cho những máy stereolithography đầu tiên của 3D Systems, là một danh sách tam giác. Mỗi tam giác mang một vector pháp tuyến và ba điểm góc được ghi đầy đủ. Vì không có gì liên kết các tam giác lân cận, một đỉnh dùng chung bởi sáu tam giác bị lưu sáu lần, và phần mềm nhận phải dựng lại kết nối trước khi có thể sửa hoặc đơn giản hóa bất cứ thứ gì.

File OBJ, từ Wavefront Technologies, là file văn bản với các danh sách riêng: dòng v cho tọa độ đỉnh, vt cho tọa độ texture, vn cho pháp tuyến, và dòng f tạo mặt bằng cách trỏ tới các danh sách đó. Dòng mtllib chỉ tên file .mtl chứa màu và đường dẫn ảnh texture. Chính cách đánh chỉ mục này giúp OBJ giữ lưới liên kết và có thể mang bố cục UV mà STL hoàn toàn không có chỗ chứa.

  • STL: một bản ghi cho mỗi tam giác, không gì khác
  • OBJ: đỉnh, UV và pháp tuyến được liệt kê một lần rồi tái sử dụng
  • Texture của OBJ nằm trong các file riêng mà bạn phải giữ cạnh file OBJ

Kích thước file STL vs OBJ: cùng một mô hình lưu theo cả hai cách

Chúng tôi xuất cùng một mô hình do AI tạo, một hiệp sĩ robot steampunk trong thư viện của chúng tôi với 500,000 tam giác, 287,963 đỉnh và texture màu 2048 x 2048, sang từng biến thể và đo các file.

Bản xuấtNội dung chứaKích thước
STL nhị phânTam giác và pháp tuyến mặt25.0 MB
STL ASCIICùng dữ liệu dưới dạng văn bản đọc được150.9 MB
OBJ, chỉ hình họcVị trí đỉnh và các mặt21.4 MB
OBJ có UV và pháp tuyếnVị trí, UV, pháp tuyến, mặt38.6 MB
OBJ có texture, bộ đầy đủ.obj + .mtl (198 bytes) + texture PNG (5.0 MB)43.6 MB trong 3 file
3MF, chỉ hình học (để tham khảo)Lưới XML nén, tính bằng milimét10.3 MB

Kích thước STL nhị phân là chính xác: 84 + 50 x 500,000 = 25,000,084 bytes. OBJ thắng khi chỉ có hình học vì mỗi đỉnh trong 287,963 đỉnh chỉ được ghi một lần thay vì một lần cho mỗi tam giác.

OBJ vs STL để in 3D

Slicer coi cả hai định dạng là lưới để cắt lớp, nên một file đúng sẽ in ra giống hệt nhau dù dùng định dạng nào. Khác biệt nằm ở những gì bị bỏ đi. Tài liệu của PrusaSlicer nói rằng thông tin vật liệu và texture trong OBJ bị bỏ qua khi nhập, và nó đọc cả STL ASCII lẫn nhị phân. UltiMaker Cura liệt kê STL và OBJ trong các loại mô hình được hỗ trợ, cùng với 3MF, PLY và glTF. Bambu Studio có thể đọc màu từ OBJ và đề nghị ánh xạ chúng sang nhựa in AMS của bạn, khiến OBJ hữu ích hơn STL trên máy in Bambu, dù 3MF vẫn là cách đáng tin cậy hơn cho nhiều màu.

Thứ thực sự làm hỏng bản in là hình học, không phải định dạng: lỗ thủng, pháp tuyến bị lật và tự giao cắt. Hãy cho file nghi ngờ chạy qua công cụ sửa STL miễn phí trước khi cắt lớp; công cụ nhận lưới và trả về STL kín nước.

  • Cùng lưới, cùng đường chạy dao: định dạng không làm thay đổi chất lượng in
  • Texture trong OBJ bị hầu hết slicer bỏ qua
  • Để in màu, hãy xuất 3MF thay thế

Khi nào dùng STL và khi nào dùng OBJ

Chọn STL vs OBJ dựa trên nơi file sẽ đi tiếp.

In FDM hoặc resin một màu

Dùng STL. Mọi slicer và dịch vụ in đều chấp nhận, và không có file phụ nào để mất. Đây cũng là định dạng bạn thường thấy nhất trên các trang mô hình như Printables và Thingiverse.

Mô hình có texture cho Blender hoặc game

Dùng OBJ, hoặc tốt hơn là GLB, định dạng gói texture vào một file. OBJ giữ UV nên texture nằm đúng chỗ.

In nhiều màu trên Bambu AMS hoặc Prusa MMU

Dùng 3MF. Nếu bạn chỉ có OBJ kèm màu, Bambu Studio có thể ánh xạ, nhưng 3MF lưu trực tiếp chỉ định nhựa in cho từng phần.

Gửi chi tiết cho thợ gia công hoặc người dùng CAD

Dùng STEP nếu bạn có. Cả hai định dạng lưới đều mất đường cong chính xác mà người dùng CAD cần để sửa lỗ và fillet.

Chia sẻ bản xem trước nhanh

OBJ mở được gần như mọi nơi với màu sắc. Nếu phải đưa lên trang web, hãy chuyển sang GLB để có một file gọn nhẹ.

Lưu trữ phiên bản sẵn sàng in

Giữ một STL nhị phân bên cạnh dự án 3MF. Đây là định dạng mà mọi công cụ vẫn sẽ mở được sau mười năm nữa.

Chuyển đổi giữa STL và OBJ không bất ngờ

Chuyển đổi không mất hình dạng theo một chiều nhưng mất diện mạo theo chiều còn lại.

Nên làm
  • Giữ .mtl và ảnh texture trong cùng thư mục với OBJ, và nén chúng lại khi chia sẻ
  • Kiểm tra kích thước mô hình ngay sau khi nhập; nếu lệch 25.4x, mô hình đã được lưu bằng inch
  • Dùng STL nhị phân, đừng bao giờ dùng ASCII, trừ khi công cụ yêu cầu cụ thể văn bản
  • Xem trước kết quả trong trình xem trước khi cắt lớp hoặc gửi
Nên tránh
  • Kỳ vọng STL sang OBJ sẽ mang lại màu hoặc UV; chúng chưa từng có trong STL
  • Gửi một .obj trần khi diện mạo quan trọng; thiếu .mtl nó sẽ mở ra màu xám
  • Cho rằng file nhỏ hơn là chất lượng thấp hơn; hình học OBJ nhỏ hơn vì các đỉnh được dùng chung
  • Đổi tên .obj thành .stl; cấu trúc bên trong khác và file sẽ không tải được

Hỏi đáp

Câu hỏi thường gặp

STL hay OBJ tốt hơn để in 3D?

Đối với in một màu, chúng tạo ra cùng đường chạy dao, nên hãy chọn STL để có tương thích rộng nhất và ít file phụ nhất. OBJ chỉ hữu ích khi màu sắc quan trọng: Bambu Studio có thể ánh xạ màu OBJ sang nhựa in AMS, trong khi PrusaSlicer bỏ qua vật liệu OBJ. Để in nhiều màu ổn định trên mọi slicer, hãy xuất 3MF, định dạng lưu chỉ định nhựa in cho từng phần thay vì dựa vào file texture hoặc vật liệu.

File OBJ có giữ màu và texture không?

Có, nhưng không nằm trong chính file .obj. OBJ chứa tọa độ UV và trỏ tới file vật liệu .mtl, còn .mtl trỏ tới ảnh texture như PNG. Cả ba phải đi cùng nhau. Nếu bạn chỉ nhận được .obj, mô hình sẽ mở ra màu xám. Để có một file duy nhất kèm texture, hãy dùng GLB thay vì OBJ.

Vì sao file STL của tôi lớn hơn OBJ nhiều vậy?

STL lặp lại mỗi đỉnh cho mọi tam giác chạm tới nó, trong khi OBJ liệt kê mỗi đỉnh một lần và tham chiếu tới nó. Trong thử nghiệm 500,000 tam giác của chúng tôi, STL nhị phân là 25.0 MB và OBJ chỉ hình học là 21.4 MB. STL ASCII tệ hơn nhiều với 150.9 MB. Khi thêm UV và pháp tuyến, OBJ tăng lên 38.6 MB, nên khoảng cách đảo chiều.

Tôi có thể chuyển STL sang OBJ mà không mất chất lượng không?

Có. Chuyển STL sang OBJ giữ nguyên từng tam giác và vị trí, và tệp OBJ thường nhỏ hơn một chút vì các đỉnh dùng chung được gộp lại. Thứ bạn không thể lấy lại là màu sắc hoặc UV, vì STL vốn không có. Công cụ chuyển STL sang OBJ miễn phí của chúng tôi chạy ngay trong trình duyệt và hiển thị bản xem trước 3D trước khi bạn tải xuống.

STL vs OBJ: Blender thích định dạng nào hơn?

Blender nhập được cả hai, nhưng OBJ phù hợp hơn khi mô hình có texture, vì UV và các slot vật liệu đi kèm. STL sẽ vào dưới dạng một lưới xám duy nhất, không có bố cục UV. Nếu bạn đưa mô hình có texture vào Blender, GLB còn dễ hơn OBJ, vì texture được nhúng sẵn và vật liệu PBR ánh xạ trực tiếp sang Principled BSDF của Blender.

Vì sao mô hình của tôi nhập vào bị quá nhỏ hoặc quá lớn?

Cả STL lẫn OBJ đều không lưu đơn vị, nên ứng dụng nhận sẽ tự đoán. Phần mềm slicer mặc định dùng milimét; mô hình lưu theo inch sẽ đến với kích thước nhỏ hơn 25,4 lần, còn lưu theo mét thì nhỏ hơn 1.000 lần. PrusaSlicer và Bambu Studio sẽ hỏi chuyển đổi khi mô hình có vẻ được lưu theo inch. Nếu không, hãy nhân với hệ số tỉ lệ đúng trước khi slice.

Tệp STL có thể có màu không?

Theo chuẩn thì không. Hai biến thể của nhà cung cấp, từ VisCAM/SolidView và từ Materialise Magics, giấu màu 15-bit trong hai byte dư của mỗi tam giác, nhưng chúng lưu các kênh theo thứ tự ngược nhau và hầu hết slicer đều bỏ qua cả hai. Nếu bạn cần màu trên chi tiết in, hãy dùng 3MF; nếu cần màu trên màn hình, hãy dùng OBJ hoặc GLB.

Làm sao tạo STL hoặc OBJ từ một bức ảnh?

Tải ảnh lên studio image to 3D của SupaVoxel, bạn sẽ nhận được mô hình không texture, thường dưới một phút, hoặc mô hình có texture trong khoảng 3 đến 5 phút. Tài khoản mới được tặng 3 credit miễn phí và có thể tải GLB miễn phí; xuất STL, OBJ và 3MF thuộc các gói trả phí. Bạn cũng có thể chuyển GLB miễn phí sang STL hoặc OBJ bằng công cụ chuyển đổi trên trình duyệt của chúng tôi.

Bắt đầu miễn phí

Đã rõ STL vs OBJ? Giờ thì tạo mô hình thôi

Biến ảnh thành mô hình 3D, thường dưới một phút, rồi xuất STL, OBJ hoặc 3MF với gói trả phí, hoặc xem và chuyển đổi tệp miễn phí tại đây.

Không cần thẻ tín dụng · 3 credit miễn phí khi bắt đầu